| ofs | hex dump | ascii | 
|---|
| 0000 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | projectile-2.9.1/............... | 
| 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 32 00 20 35 00 00 00 | 0000000.00000000000.012322..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 39 2e 31    2f 2e 67 69 74 68 75 62 2f 00 00 00 00 00 00 00 | projectile-2.9.1/.github/....... | 
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0260 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 | 
| 0280 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 36 36 32 00 20 35 00 00 00 | 0000000.00000000000.013662..5... | 
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0400 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 2e 67 69 74 68 75 62 2f 49 53 53 55 45 5f 54 | projectile-2.9.1/.github/ISSUE_T | 
| 0420 | 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...................... | 
| 0440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0460 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 | 
| 0480 | 30 30 30 31 34 30 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 33 36 33 00 20 30 00 00 00 | 0001401.00000000000.016363..0... | 
| 04a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 04e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0500 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 0520 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0600 | 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 | 
| 0620 | 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 | 
| 0640 | 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 | 
| 0660 | 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 | 
| 0680 | 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 | 
| 06a0 | 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 | 
| 06c0 | 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 | 
| 06e0 | 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 | 
| 0700 | 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 | 
| 0720 | 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 | 
| 0740 | 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 | 
| 0760 | 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 | 
| 0780 | 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 | 
| 07a0 | 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 | 
| 07c0 | 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 | 
| 07e0 | 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 | 
| 0800 | 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. | 
| 0820 | 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 | 
| 0840 | 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 | 
| 0860 | 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 | 
| 0880 | 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. | 
| 08a0 | 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 | 
| 08c0 | 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 | 
| 08e0 | 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* | 
| 0900 | 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 | ................................ | 
| 0920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 09a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 09c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 09e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0a00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 2e 67 69 74 68 75 62 2f 50 55 4c 4c 5f 52 45 | projectile-2.9.1/.github/PULL_RE | 
| 0a20 | 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............... | 
| 0a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0a60 | 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 | 
| 0a80 | 30 30 30 31 35 30 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 34 36 36 00 20 30 00 00 00 | 0001507.00000000000.017466..0... | 
| 0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0b00 | 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................... | 
| 0b20 | 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................... | 
| 0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0c00 | 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. | 
| 0c20 | 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 | 
| 0c40 | 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. | 
| 0c60 | 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.**..------------ | 
| 0c80 | 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 | 
| 0ca0 | 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 | 
| 0cc0 | 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. | 
| 0ce0 | 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 | 
| 0d00 | 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 | 
| 0d20 | 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 | 
| 0d40 | 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 | 
| 0d60 | 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 | 
| 0d80 | 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 | 
| 0da0 | 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 | 
| 0dc0 | 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 | 
| 0de0 | 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. | 
| 0e00 | 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 | 
| 0e20 | 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.- | 
| 0e40 | 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 | 
| 0e60 | 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) | 
| 0e80 | 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 | 
| 0ea0 | 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 | 
| 0ec0 | 64 61 74 65 64 20 74 68 65 20 5b 64 6f 63 73 5d    28 2e 2e 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f | dated.the.[docs](../blob/master/ | 
| 0ee0 | 64 6f 63 2f 6d 6f 64 75 6c 65 73 2f 52 4f 4f 54    2f 70 61 67 65 73 29 20 28 77 68 65 6e 20 61 64 | doc/modules/ROOT/pages).(when.ad | 
| 0f00 | 64 69 6e 67 20 6e 65 77 20 70 72 6f 6a 65 63 74    20 74 79 70 65 73 2c 20 63 6f 6e 66 69 67 75 72 | ding.new.project.types,.configur | 
| 0f20 | 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 2c 20 63    6f 6d 6d 61 6e 64 73 2c 20 65 74 63 29 0a 0a 54 | ation.options,.commands,.etc)..T | 
| 0f40 | 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 00 00 00 | hanks!.......................... | 
| 0f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1000 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 2e 67 69 74 68 75 62 2f 46 55 4e 44 49 4e 47 | projectile-2.9.1/.github/FUNDING | 
| 1020 | 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............................ | 
| 1040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1060 | 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 | 
| 1080 | 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 32 00 20 30 00 00 00 | 0000230.00000000000.015472..0... | 
| 10a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 10c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 10e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1100 | 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................... | 
| 1120 | 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................... | 
| 1140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 11a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 11c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 11e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1200 | 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 | 
| 1220 | 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 | 
| 1240 | 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 | 
| 1260 | 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: | 
| 1280 | 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......... | 
| 12a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 12c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 12e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 13a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 13c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 13e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1400 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f | projectile-2.9.1/.github/workflo | 
| 1420 | 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/............................. | 
| 1440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1460 | 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 | 
| 1480 | 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 37 00 20 35 00 00 00 | 0000000.00000000000.015717..5... | 
| 14a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 14c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 14e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1500 | 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................... | 
| 1520 | 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................... | 
| 1540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 15a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 15c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 15e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1600 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f | projectile-2.9.1/.github/workflo | 
| 1620 | 77 73 2f 73 74 61 6c 65 2e 79 6d 6c 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ws/stale.yml.................... | 
| 1640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1660 | 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 | 
| 1680 | 30 30 30 33 30 33 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 35 34 37 00 20 30 00 00 00 | 0003031.00000000000.017547..0... | 
| 16a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 16c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 16e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1700 | 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................... | 
| 1720 | 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................... | 
| 1740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 17a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 17c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 17e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1800 | 6e 61 6d 65 3a 20 43 6c 6f 73 65 20 69 6e 61 63    74 69 76 65 20 69 73 73 75 65 73 20 61 6e 64 20 | name:.Close.inactive.issues.and. | 
| 1820 | 70 75 6c 6c 20 72 65 71 75 65 73 74 73 0a 6f 6e    3a 0a 20 20 73 63 68 65 64 75 6c 65 3a 0a 20 20 | pull.requests.on:...schedule:... | 
| 1840 | 20 20 2d 20 63 72 6f 6e 3a 20 22 33 30 20 31 20    2a 20 2a 20 2a 22 0a 0a 6a 6f 62 73 3a 0a 20 20 | ..-.cron:."30.1.*.*.*"..jobs:... | 
| 1860 | 63 6c 6f 73 65 2d 69 73 73 75 65 73 3a 0a 20 20    20 20 72 75 6e 73 2d 6f 6e 3a 20 75 62 75 6e 74 | close-issues:.....runs-on:.ubunt | 
| 1880 | 75 2d 6c 61 74 65 73 74 0a 20 20 20 20 70 65 72    6d 69 73 73 69 6f 6e 73 3a 0a 20 20 20 20 20 20 | u-latest.....permissions:....... | 
| 18a0 | 69 73 73 75 65 73 3a 20 77 72 69 74 65 0a 20 20    20 20 20 20 70 75 6c 6c 2d 72 65 71 75 65 73 74 | issues:.write.......pull-request | 
| 18c0 | 73 3a 20 77 72 69 74 65 0a 20 20 20 20 73 74 65    70 73 3a 0a 20 20 20 20 20 20 2d 20 75 73 65 73 | s:.write.....steps:.......-.uses | 
| 18e0 | 3a 20 61 63 74 69 6f 6e 73 2f 73 74 61 6c 65 40    76 39 0a 20 20 20 20 20 20 20 20 77 69 74 68 3a | :.actions/stale@v9.........with: | 
| 1900 | 0a 20 20 20 20 20 20 20 20 20 20 64 61 79 73 2d    62 65 66 6f 72 65 2d 69 73 73 75 65 2d 73 74 61 | ...........days-before-issue-sta | 
| 1920 | 6c 65 3a 20 39 30 0a 20 20 20 20 20 20 20 20 20    20 64 61 79 73 2d 62 65 66 6f 72 65 2d 69 73 73 | le:.90...........days-before-iss | 
| 1940 | 75 65 2d 63 6c 6f 73 65 3a 20 39 30 0a 20 20 20    20 20 20 20 20 20 20 73 74 61 6c 65 2d 69 73 73 | ue-close:.90...........stale-iss | 
| 1960 | 75 65 2d 6c 61 62 65 6c 3a 20 22 73 74 61 6c 65    22 0a 20 20 20 20 20 20 20 20 20 20 65 78 65 6d | ue-label:."stale"...........exem | 
| 1980 | 70 74 2d 61 6c 6c 2d 6d 69 6c 65 73 74 6f 6e 65    73 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 | pt-all-milestones:.true......... | 
| 19a0 | 20 20 65 78 65 6d 70 74 2d 69 73 73 75 65 2d 6c    61 62 65 6c 73 3a 20 22 62 75 67 2c 20 68 69 67 | ..exempt-issue-labels:."bug,.hig | 
| 19c0 | 68 20 70 72 69 6f 72 69 74 79 2c 20 67 6f 6f 64    20 66 69 72 73 74 20 69 73 73 75 65 2c 20 70 69 | h.priority,.good.first.issue,.pi | 
| 19e0 | 6e 6e 65 64 22 0a 20 20 20 20 20 20 20 20 20 20    73 74 61 6c 65 2d 69 73 73 75 65 2d 6d 65 73 73 | nned"...........stale-issue-mess | 
| 1a00 | 61 67 65 3a 20 3e 2d 0a 20 20 20 20 20 20 20 20    20 20 20 20 54 68 69 73 20 69 73 73 75 65 20 68 | age:.>-.............This.issue.h | 
| 1a20 | 61 73 20 62 65 65 6e 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 | as.been.automatically.marked.as. | 
| 1a40 | 73 74 61 6c 65 20 62 65 63 61 75 73 65 20 69 74    20 68 61 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 | stale.because.it.has.not........ | 
| 1a60 | 20 20 20 20 20 68 61 64 20 61 6e 79 20 72 65 63    65 6e 74 20 61 63 74 69 76 69 74 79 2e 20 49 74 | .....had.any.recent.activity..It | 
| 1a80 | 20 77 69 6c 6c 20 62 65 20 63 6c 6f 73 65 64 20    73 6f 6f 6e 20 69 66 20 6e 6f 20 66 75 72 74 68 | .will.be.closed.soon.if.no.furth | 
| 1aa0 | 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 61    63 74 69 76 69 74 79 20 6f 63 63 75 72 73 2e 20 | er.............activity.occurs.. | 
| 1ac0 | 54 68 61 6e 6b 20 79 6f 75 20 66 6f 72 20 79 6f    75 72 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 20 | Thank.you.for.your.contribution. | 
| 1ae0 | 61 6e 64 20 75 6e 64 65 72 73 74 61 6e 64 69 6e    67 21 0a 20 20 20 20 20 20 20 20 20 20 63 6c 6f | and.understanding!...........clo | 
| 1b00 | 73 65 2d 69 73 73 75 65 2d 6d 65 73 73 61 67 65    3a 20 3e 2d 0a 20 20 20 20 20 20 20 20 20 20 20 | se-issue-message:.>-............ | 
| 1b20 | 20 54 68 69 73 20 69 73 73 75 65 20 62 65 65 6e    20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 | .This.issue.been.automatically.c | 
| 1b40 | 6c 6f 73 65 64 20 64 75 65 20 74 6f 20 6c 61 63    6b 20 6f 66 20 61 63 74 69 76 69 74 79 2e 20 46 | losed.due.to.lack.of.activity..F | 
| 1b60 | 65 65 6c 20 66 72 65 65 20 74 6f 20 72 65 2d 6f    70 65 6e 20 69 74 0a 20 20 20 20 20 20 20 20 20 | eel.free.to.re-open.it.......... | 
| 1b80 | 20 20 20 69 66 20 79 6f 75 20 65 76 65 72 20 63    6f 6d 65 20 62 61 63 6b 20 74 6f 20 69 74 2e 0a | ...if.you.ever.come.back.to.it.. | 
| 1ba0 | 20 20 20 20 20 20 20 20 20 20 64 61 79 73 2d 62    65 66 6f 72 65 2d 70 72 2d 73 74 61 6c 65 3a 20 | ..........days-before-pr-stale:. | 
| 1bc0 | 39 30 0a 20 20 20 20 20 20 20 20 20 20 64 61 79    73 2d 62 65 66 6f 72 65 2d 70 72 2d 63 6c 6f 73 | 90...........days-before-pr-clos | 
| 1be0 | 65 3a 20 39 30 0a 20 20 20 20 20 20 20 20 20 20    65 78 65 6d 70 74 2d 70 72 2d 6c 61 62 65 6c 73 | e:.90...........exempt-pr-labels | 
| 1c00 | 3a 20 22 68 69 67 68 20 70 72 69 6f 72 69 74 79    2c 20 67 6f 6f 64 20 66 69 72 73 74 20 69 73 73 | :."high.priority,.good.first.iss | 
| 1c20 | 75 65 2c 20 70 69 6e 6e 65 64 22 0a 20 20 20 20    20 20 20 20 20 20 73 74 61 6c 65 2d 70 72 2d 6d | ue,.pinned"...........stale-pr-m | 
| 1c40 | 65 73 73 61 67 65 3a 20 3e 2d 0a 20 20 20 20 20    20 20 20 20 20 20 20 54 68 69 73 20 70 75 6c 6c | essage:.>-.............This.pull | 
| 1c60 | 20 72 65 71 75 65 73 74 20 68 61 73 20 62 65 65    6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 | .request.has.been.automatically. | 
| 1c80 | 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 74 20 68 61 73 20 6e | marked.as.stale.because.it.has.n | 
| 1ca0 | 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 68    61 64 20 61 6e 79 20 72 65 63 65 6e 74 20 61 63 | ot.............had.any.recent.ac | 
| 1cc0 | 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 73 6f 6f 6e 20 69 | tivity..It.will.be.closed.soon.i | 
| 1ce0 | 66 20 6e 6f 20 66 75 72 74 68 65 72 0a 20 20 20    20 20 20 20 20 20 20 20 20 61 63 74 69 76 69 74 | f.no.further.............activit | 
| 1d00 | 79 20 6f 63 63 75 72 73 2e 20 54 68 61 6e 6b 20    79 6f 75 20 66 6f 72 20 79 6f 75 72 20 63 6f 6e | y.occurs..Thank.you.for.your.con | 
| 1d20 | 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 6e    64 65 72 73 74 61 6e 64 69 6e 67 21 0a 20 20 20 | tribution.and.understanding!.... | 
| 1d40 | 20 20 20 20 20 20 20 63 6c 6f 73 65 2d 70 72 2d    6d 65 73 73 61 67 65 3a 20 3e 2d 0a 20 20 20 20 | .......close-pr-message:.>-..... | 
| 1d60 | 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 73    75 65 20 62 65 65 6e 20 61 75 74 6f 6d 61 74 69 | ........This.issue.been.automati | 
| 1d80 | 63 61 6c 6c 79 20 63 6c 6f 73 65 64 20 64 75 65    20 74 6f 20 6c 61 63 6b 20 6f 66 20 61 63 74 69 | cally.closed.due.to.lack.of.acti | 
| 1da0 | 76 69 74 79 2e 20 46 65 65 6c 20 66 72 65 65 20    74 6f 20 72 65 2d 6f 70 65 6e 20 69 74 0a 20 20 | vity..Feel.free.to.re-open.it... | 
| 1dc0 | 20 20 20 20 20 20 20 20 20 20 69 66 20 79 6f 75    20 65 76 65 72 20 63 6f 6d 65 20 62 61 63 6b 20 | ..........if.you.ever.come.back. | 
| 1de0 | 74 6f 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20    20 72 65 70 6f 2d 74 6f 6b 65 6e 3a 20 24 7b 7b | to.it............repo-token:.${{ | 
| 1e00 | 20 73 65 63 72 65 74 73 2e 47 49 54 48 55 42 5f    54 4f 4b 45 4e 20 7d 7d 0a 00 00 00 00 00 00 00 | .secrets.GITHUB_TOKEN.}}........ | 
| 1e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 1fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2000 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f | projectile-2.9.1/.github/workflo | 
| 2020 | 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..................... | 
| 2040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2060 | 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 | 
| 2080 | 30 30 30 31 35 32 33 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 34 32 32 00 20 30 00 00 00 | 0001523.00000000000.017422..0... | 
| 20a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 20c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 20e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2100 | 00 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................... | 
| 2120 | 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................... | 
| 2140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 21a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 21c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 21e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2200 | 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- | 
| 2220 | 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 | 
| 2240 | 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:.[ | 
| 2260 | 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 | 
| 2280 | 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... | 
| 22a0 | 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 | 
| 22c0 | 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'}}.... | 
| 22e0 | 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:....... | 
| 2300 | 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. | 
| 2320 | 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 | 
| 2340 | 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 36 2e 33 27 | ..........emacs_version:.['26.3' | 
| 2360 | 2c 20 27 32 37 2e 31 27 2c 20 27 32 38 2e 31 27    2c 20 27 32 39 2e 31 27 2c 20 27 73 6e 61 70 73 | ,.'27.1',.'28.1',.'29.1',.'snaps | 
| 2380 | 68 6f 74 27 5d 0a 0a 20 20 20 20 73 74 65 70 73    3a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20 53 65 | hot']......steps:.....-.name:.Se | 
| 23a0 | 74 20 75 70 20 45 6d 61 63 73 0a 20 20 20 20 20    20 75 73 65 73 3a 20 70 75 72 63 65 6c 6c 2f 73 | t.up.Emacs.......uses:.purcell/s | 
| 23c0 | 65 74 75 70 2d 65 6d 61 63 73 40 6d 61 73 74 65    72 0a 20 20 20 20 20 20 77 69 74 68 3a 0a 20 20 | etup-emacs@master.......with:... | 
| 23e0 | 20 20 20 20 20 20 76 65 72 73 69 6f 6e 3a 20 24    7b 7b 6d 61 74 72 69 78 2e 65 6d 61 63 73 5f 76 | ......version:.${{matrix.emacs_v | 
| 2400 | 65 72 73 69 6f 6e 7d 7d 0a 0a 20 20 20 20 2d 20    6e 61 6d 65 3a 20 49 6e 73 74 61 6c 6c 20 45 6c | ersion}}......-.name:.Install.El | 
| 2420 | 64 65 76 0a 20 20 20 20 20 20 72 75 6e 3a 20 63    75 72 6c 20 2d 66 73 53 4c 20 68 74 74 70 73 3a | dev.......run:.curl.-fsSL.https: | 
| 2440 | 2f 2f 72 61 77 2e 67 69 74 68 75 62 2e 63 6f 6d    2f 64 6f 75 62 6c 65 70 2f 65 6c 64 65 76 2f 6d | //raw.github.com/doublep/eldev/m | 
| 2460 | 61 73 74 65 72 2f 77 65 62 69 6e 73 74 61 6c 6c    2f 67 69 74 68 75 62 2d 65 6c 64 65 76 20 7c 20 | aster/webinstall/github-eldev.|. | 
| 2480 | 73 68 0a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20    43 68 65 63 6b 20 6f 75 74 20 74 68 65 20 73 6f | sh......-.name:.Check.out.the.so | 
| 24a0 | 75 72 63 65 20 63 6f 64 65 0a 20 20 20 20 20 20    75 73 65 73 3a 20 61 63 74 69 6f 6e 73 2f 63 68 | urce.code.......uses:.actions/ch | 
| 24c0 | 65 63 6b 6f 75 74 40 76 34 0a 0a 20 20 20 20 2d    20 6e 61 6d 65 3a 20 54 65 73 74 20 74 68 65 20 | eckout@v4......-.name:.Test.the. | 
| 24e0 | 70 72 6f 6a 65 63 74 0a 20 20 20 20 20 20 72 75    6e 3a 20 7c 0a 20 20 20 20 20 20 20 20 65 6c 64 | project.......run:.|.........eld | 
| 2500 | 65 76 20 2d 70 20 2d 64 74 54 20 2d 43 20 74 65    73 74 20 2d 2d 65 78 70 65 63 74 20 31 30 30 0a | ev.-p.-dtT.-C.test.--expect.100. | 
| 2520 | 20 20 20 20 20 20 20 20 65 6c 64 65 76 20 2d 64    74 54 20 2d 43 20 63 6f 6d 70 69 6c 65 20 2d 2d | ........eldev.-dtT.-C.compile.-- | 
| 2540 | 77 61 72 6e 69 6e 67 73 2d 61 73 2d 65 72 72 6f    72 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 | warnings-as-errors.............. | 
| 2560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 25a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 25c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 25e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2600 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 45 6c 64 65 76 00 00 00 00 00 00 00 00 00 00 | projectile-2.9.1/Eldev.......... | 
| 2620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2660 | 00 00 00 00 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 | 
| 2680 | 30 30 30 30 30 34 33 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 33 30 31 00 20 30 00 00 00 | 0000043.00000000000.013301..0... | 
| 26a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 26c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 26e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2700 | 00 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................... | 
| 2720 | 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................... | 
| 2740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 27a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 27c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 27e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2800 | 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 | 
| 2820 | 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).............................. | 
| 2840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 28a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 28c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 28e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 29a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 29c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 29e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2a00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 43 4f 4e 54 52 49 42 55 54 49 4e 47 2e 6d 64 | projectile-2.9.1/CONTRIBUTING.md | 
| 2a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2a60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 | 
| 2a80 | 30 30 30 33 31 36 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 35 36 31 00 20 30 00 00 00 | 0003166.00000000000.014561..0... | 
| 2aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2b00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 2b20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 2b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 2c00 | 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. | 
| 2c20 | 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 | 
| 2c40 | 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 | 
| 2c60 | 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 | 
| 2c80 | 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. | 
| 2ca0 | 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 | 
| 2cc0 | 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 | 
| 2ce0 | 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 | 
| 2d00 | 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 | 
| 2d20 | 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 | 
| 2d40 | 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 | 
| 2d60 | 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..` | 
| 2d80 | 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 | 
| 2da0 | 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 | 
| 2dc0 | 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 | 
| 2de0 | 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 | 
| 2e00 | 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,.. | 
| 2e20 | 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 | 
| 2e40 | 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 | 
| 2e60 | 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 | 
| 2e80 | 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. | 
| 2ea0 | 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 | 
| 2ec0 | 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)... | 
| 2ee0 | 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 | 
| 2f00 | 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 | 
| 2f20 | 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 | 
| 2f40 | 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 | 
| 2f60 | 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 | 
| 2f80 | 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 | 
| 2fa0 | 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 | 
| 2fc0 | 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..` | 
| 2fe0 | 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 | 
| 3000 | 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] | 
| 3020 | 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 | 
| 3040 | 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 | 
| 3060 | 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 | 
| 3080 | 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</ | 
| 30a0 | 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 | 
| 30c0 | 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 | 
| 30e0 | 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 | 
| 3100 | 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 | 
| 3120 | 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 | 
| 3140 | 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 | 
| 3160 | 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 | 
| 3180 | 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 | 
| 31a0 | 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 | 
| 31c0 | 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 | 
| 31e0 | 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 | 
| 3200 | 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 | 
| 3220 | 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 | 
| 3240 | 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 | 
| 3260 | 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........... | 
| 3280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 32a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 32c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 32e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 33a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 33c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 33e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3400 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 70 72 6f 6a 65 63 74 69 6c 65 2e 65 6c 00 00 | projectile-2.9.1/projectile.el.. | 
| 3420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3460 | 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 | 
| 3480 | 31 30 34 30 35 33 35 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 30 31 34 00 20 30 00 00 00 | 1040535.00000000000.015014..0... | 
| 34a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 34c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 34e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3500 | 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................... | 
| 3520 | 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................... | 
| 3540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 35a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 35c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 35e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 3600 | 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 | 
| 3620 | 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 | 
| 3640 | 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.-*-..; | 
| 3660 | 3b 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32    30 31 31 2d 32 30 32 35 20 42 6f 7a 68 69 64 61 | ;.Copyright....2011-2025.Bozhida | 
| 3680 | 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>.. | 
| 36a0 | 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 | 
| 36c0 | 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:/ | 
| 36e0 | 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.; | 
| 3700 | 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 | 
| 3720 | 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 32 2e 39    2e 31 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 | .;;.Version:.2.9.1.;;.Package-Re | 
| 3740 | 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20    22 32 36 2e 31 22 29 29 0a 0a 3b 3b 20 54 68 69 | quires:.((emacs."26.1"))..;;.Thi | 
| 3760 | 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. | 
| 3780 | 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 | 
| 37a0 | 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/ | 
| 37c0 | 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. | 
| 37e0 | 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 | 
| 3800 | 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 | 
| 3820 | 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 | 
| 3840 | 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. | 
| 3860 | 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 | 
| 3880 | 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 | 
| 38a0 | 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 | 
| 38c0 | 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 | 
| 38e0 | 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 | 
| 3900 | 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 | 
| 3920 | 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 | 
| 3940 | 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 | 
| 3960 | 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 | 
| 3980 | 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 | 
| 39a0 | 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 | 
| 39c0 | 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... | 
| 39e0 | 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 | 
| 3a00 | 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 | 
| 3a20 | 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 | 
| 3a40 | 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 | 
| 3a60 | 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20 50    72 6f 6a 65 63 74 69 6c 65 20 69 73 20 61 20 70 | mentary:.;;.;;.Projectile.is.a.p | 
| 3a80 | 72 6f 6a 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 | roject.interaction.library.for.E | 
| 3aa0 | 6d 61 63 73 2e 0a 3b 3b 20 49 74 20 70 72 6f 76    69 64 65 73 20 61 20 70 6f 77 65 72 66 75 6c 20 | macs..;;.It.provides.a.powerful. | 
| 3ac0 | 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 61 74 20 74 68 65 | set.of.features.operating.at.the | 
| 3ae0 | 20 70 72 6f 6a 65 63 74 0a 3b 3b 20 6c 65 76 65    6c 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 73 69 | .project.;;.level,.as.well.as.si | 
| 3b00 | 6d 70 6c 65 20 68 65 75 72 69 73 74 69 63 73 20    74 6f 20 69 64 65 6e 74 69 66 79 20 70 72 6f 6a | mple.heuristics.to.identify.proj | 
| 3b20 | 65 63 74 73 2e 0a 3b 3b 0a 3b 3b 20 53 65 65 20    74 68 65 20 52 45 41 44 4d 45 20 61 6e 64 20 68 | ects..;;.;;.See.the.README.and.h | 
| 3b40 | 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 20 66 6f 72 20 6d 6f | ttps://docs.projectile.mx.for.mo | 
| 3b60 | 72 65 20 64 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b    3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 | re.details..;;.;;;.Code:..(requi | 
| 3b80 | 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71    75 69 72 65 20 27 74 68 69 6e 67 61 74 70 74 29 | re.'cl-lib).(require.'thingatpt) | 
| 3ba0 | 0a 28 72 65 71 75 69 72 65 20 27 69 62 75 66 66    65 72 29 0a 28 72 65 71 75 69 72 65 20 27 69 62 | .(require.'ibuffer).(require.'ib | 
| 3bc0 | 75 66 2d 65 78 74 29 0a 28 72 65 71 75 69 72 65    20 27 63 6f 6d 70 69 6c 65 29 0a 28 72 65 71 75 | uf-ext).(require.'compile).(requ | 
| 3be0 | 69 72 65 20 27 67 72 65 70 29 0a 28 65 76 61 6c    2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 | ire.'grep).(eval-when-compile... | 
| 3c00 | 28 72 65 71 75 69 72 65 20 27 66 69 6e 64 2d 64    69 72 65 64 29 0a 20 20 28 72 65 71 75 69 72 65 | (require.'find-dired)...(require | 
| 3c20 | 20 27 73 75 62 72 2d 78 29 29 0a 0a 3b 3b 3b 20    44 65 63 6c 61 72 61 74 69 6f 6e 73 0a 3b 3b 0a | .'subr-x))..;;;.Declarations.;;. | 
| 3c40 | 3b 3b 20 41 20 62 75 6e 63 68 20 6f 66 20 76 61    72 69 61 62 6c 65 20 61 6e 64 20 66 75 6e 63 74 | ;;.A.bunch.of.variable.and.funct | 
| 3c60 | 69 6f 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73    0a 3b 3b 20 6e 65 65 64 65 64 20 74 6f 20 61 70 | ion.declarations.;;.needed.to.ap | 
| 3c80 | 70 65 61 73 65 20 74 68 65 20 62 79 74 65 2d 63    6f 6d 70 69 6c 65 72 2e 0a 28 64 65 66 76 61 72 | pease.the.byte-compiler..(defvar | 
| 3ca0 | 20 69 64 6f 2d 6d 6f 64 65 29 0a 28 64 65 66 76    61 72 20 69 76 79 2d 6d 6f 64 65 29 0a 28 64 65 | .ido-mode).(defvar.ivy-mode).(de | 
| 3cc0 | 66 76 61 72 20 68 65 6c 6d 2d 6d 6f 64 65 29 0a    28 64 65 66 76 61 72 20 61 67 2d 69 67 6e 6f 72 | fvar.helm-mode).(defvar.ag-ignor | 
| 3ce0 | 65 2d 6c 69 73 74 29 0a 28 64 65 66 76 61 72 20    67 67 74 61 67 73 2d 63 6f 6d 70 6c 65 74 69 6f | e-list).(defvar.ggtags-completio | 
| 3d00 | 6e 2d 74 61 62 6c 65 29 0a 28 64 65 66 76 61 72    20 74 61 67 73 2d 63 6f 6d 70 6c 65 74 69 6f 6e | n-table).(defvar.tags-completion | 
| 3d20 | 2d 74 61 62 6c 65 29 0a 28 64 65 66 76 61 72 20    74 61 67 73 2d 6c 6f 6f 70 2d 73 63 61 6e 29 0a | -table).(defvar.tags-loop-scan). | 
| 3d40 | 28 64 65 66 76 61 72 20 74 61 67 73 2d 6c 6f 6f    70 2d 6f 70 65 72 61 74 65 29 0a 28 64 65 66 76 | (defvar.tags-loop-operate).(defv | 
| 3d60 | 61 72 20 65 73 68 65 6c 6c 2d 62 75 66 66 65 72    2d 6e 61 6d 65 29 0a 28 64 65 66 76 61 72 20 65 | ar.eshell-buffer-name).(defvar.e | 
| 3d80 | 78 70 6c 69 63 69 74 2d 73 68 65 6c 6c 2d 66 69    6c 65 2d 6e 61 6d 65 29 0a 28 64 65 66 76 61 72 | xplicit-shell-file-name).(defvar | 
| 3da0 | 20 67 72 65 70 2d 66 69 6c 65 73 2d 61 6c 69 61    73 65 73 29 0a 28 64 65 66 76 61 72 20 67 72 65 | .grep-files-aliases).(defvar.gre | 
| 3dc0 | 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 29 0a 28 64 65 66 | p-find-ignored-directories).(def | 
| 3de0 | 76 61 72 20 67 72 65 70 2d 66 69 6e 64 2d 69 67    6e 6f 72 65 64 2d 66 69 6c 65 73 29 0a 0a 28 64 | var.grep-find-ignored-files)..(d | 
| 3e00 | 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20    74 61 67 73 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d | eclare-function.tags-completion- | 
| 3e20 | 74 61 62 6c 65 20 22 65 74 61 67 73 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e | table."etags").(declare-function | 
| 3e40 | 20 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 66 75 6e 63 | .make-term."term").(declare-func | 
| 3e60 | 74 69 6f 6e 20 74 65 72 6d 2d 6d 6f 64 65 20 22    74 65 72 6d 22 29 0a 28 64 65 63 6c 61 72 65 2d | tion.term-mode."term").(declare- | 
| 3e80 | 66 75 6e 63 74 69 6f 6e 20 74 65 72 6d 2d 63 68    61 72 2d 6d 6f 64 65 20 22 74 65 72 6d 22 29 0a | function.term-char-mode."term"). | 
| 3ea0 | 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f    6e 20 74 65 72 6d 2d 61 6e 73 69 2d 6d 61 6b 65 | (declare-function.term-ansi-make | 
| 3ec0 | 2d 74 65 72 6d 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 | -term."term").(declare-function. | 
| 3ee0 | 65 73 68 65 6c 6c 2d 73 65 61 72 63 68 2d 70 61    74 68 20 22 65 73 68 2d 65 78 74 22 29 0a 28 64 | eshell-search-path."esh-ext").(d | 
| 3f00 | 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20    76 63 2d 64 69 72 20 22 76 63 2d 64 69 72 22 29 | eclare-function.vc-dir."vc-dir") | 
| 3f20 | 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 2d 62 75 73 79 20 22 | .(declare-function.vc-dir-busy." | 
| 3f40 | 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 73 74 72 69 6e | vc-dir").(declare-function.strin | 
| 3f60 | 67 2d 74 72 69 6d 20 22 73 75 62 72 2d 78 22 29    0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 | g-trim."subr-x").(declare-functi | 
| 3f80 | 6f 6e 20 66 69 6c 65 6c 6f 6f 70 2d 63 6f 6e 74    69 6e 75 65 20 22 66 69 6c 65 6c 6f 6f 70 22 29 | on.fileloop-continue."fileloop") | 
| 3fa0 | 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69    6f 6e 20 66 69 6c 65 6c 6f 6f 70 2d 69 6e 69 74 | .(declare-function.fileloop-init | 
| 3fc0 | 69 61 6c 69 7a 65 2d 72 65 70 6c 61 63 65 20 22    66 69 6c 65 6c 6f 6f 70 22 29 0a 28 64 65 63 6c | ialize-replace."fileloop").(decl | 
| 3fe0 | 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 74 72 61    6d 70 2d 61 72 63 68 69 76 65 2d 66 69 6c 65 2d | are-function.tramp-archive-file- | 
| 4000 | 6e 61 6d 65 2d 70 20 22 74 72 61 6d 70 2d 61 72    63 68 69 76 65 22 29 0a 28 64 65 63 6c 61 72 65 | name-p."tramp-archive").(declare | 
| 4020 | 2d 66 75 6e 63 74 69 6f 6e 20 68 65 6c 6d 2d 67    72 65 70 2d 67 65 74 2d 66 69 6c 65 2d 65 78 74 | -function.helm-grep-get-file-ext | 
| 4040 | 65 6e 73 69 6f 6e 73 20 22 68 65 6c 6d 2d 67 72    65 70 22 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 | ensions."helm-grep")..(declare-f | 
| 4060 | 75 6e 63 74 69 6f 6e 20 67 67 74 61 67 73 2d 65    6e 73 75 72 65 2d 70 72 6f 6a 65 63 74 20 22 65 | unction.ggtags-ensure-project."e | 
| 4080 | 78 74 3a 67 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 67 67 | xt:ggtags").(declare-function.gg | 
| 40a0 | 74 61 67 73 2d 75 70 64 61 74 65 2d 74 61 67 73    20 22 65 78 74 3a 67 67 74 61 67 73 22 29 0a 28 | tags-update-tags."ext:ggtags").( | 
| 40c0 | 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e    20 72 69 70 67 72 65 70 2d 72 65 67 65 78 70 20 | declare-function.ripgrep-regexp. | 
| 40e0 | 22 65 78 74 3a 72 69 70 67 72 65 70 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e | "ext:ripgrep").(declare-function | 
| 4100 | 20 72 67 2d 72 75 6e 20 22 65 78 74 3a 72 67 22    29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 | .rg-run."ext:rg").(declare-funct | 
| 4120 | 69 6f 6e 20 76 74 65 72 6d 20 22 65 78 74 3a 76    74 65 72 6d 22 29 0a 28 64 65 63 6c 61 72 65 2d | ion.vterm."ext:vterm").(declare- | 
| 4140 | 66 75 6e 63 74 69 6f 6e 20 76 74 65 72 6d 2d 6f    74 68 65 72 2d 77 69 6e 64 6f 77 20 22 65 78 74 | function.vterm-other-window."ext | 
| 4160 | 3a 76 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 76 74 65 72 6d | :vterm").(declare-function.vterm | 
| 4180 | 2d 73 65 6e 64 2d 72 65 74 75 72 6e 20 22 65 78    74 3a 76 74 65 72 6d 22 29 0a 28 64 65 63 6c 61 | -send-return."ext:vterm").(decla | 
| 41a0 | 72 65 2d 66 75 6e 63 74 69 6f 6e 20 76 74 65 72    6d 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 22 65 | re-function.vterm-send-string."e | 
| 41c0 | 78 74 3a 76 74 65 72 6d 22 29 0a 0a 0c 0a 3b 3b    3b 20 43 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 0a | xt:vterm")....;;;.Customization. | 
| 41e0 | 28 64 65 66 67 72 6f 75 70 20 70 72 6f 6a 65 63    74 69 6c 65 20 6e 69 6c 0a 20 20 22 4d 61 6e 61 | (defgroup.projectile.nil..."Mana | 
| 4200 | 67 65 20 61 6e 64 20 6e 61 76 69 67 61 74 65 20    70 72 6f 6a 65 63 74 73 20 65 61 73 69 6c 79 2e | ge.and.navigate.projects.easily. | 
| 4220 | 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 6f 6f 6c    73 0a 20 20 3a 67 72 6f 75 70 20 27 63 6f 6e 76 | "...:group.'tools...:group.'conv | 
| 4240 | 65 6e 69 65 6e 63 65 0a 20 20 3a 6c 69 6e 6b 20    27 28 75 72 6c 2d 6c 69 6e 6b 20 3a 74 61 67 20 | enience...:link.'(url-link.:tag. | 
| 4260 | 22 47 69 74 48 75 62 22 20 22 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | "GitHub"."https://github.com/bba | 
| 4280 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 22    29 0a 20 20 3a 6c 69 6e 6b 20 27 28 75 72 6c 2d | tsov/projectile")...:link.'(url- | 
| 42a0 | 6c 69 6e 6b 20 3a 74 61 67 20 22 4f 6e 6c 69 6e    65 20 4d 61 6e 75 61 6c 22 20 22 68 74 74 70 73 | link.:tag."Online.Manual"."https | 
| 42c0 | 3a 2f 2f 64 6f 63 73 2e 70 72 6f 6a 65 63 74 69    6c 65 2e 6d 78 2f 22 29 0a 20 20 3a 6c 69 6e 6b | ://docs.projectile.mx/")...:link | 
| 42e0 | 20 27 28 65 6d 61 63 73 2d 63 6f 6d 6d 65 6e 74    61 72 79 2d 6c 69 6e 6b 20 3a 74 61 67 20 22 43 | .'(emacs-commentary-link.:tag."C | 
| 4300 | 6f 6d 6d 65 6e 74 61 72 79 22 20 22 70 72 6f 6a    65 63 74 69 6c 65 22 29 29 0a 0a 28 64 65 66 63 | ommentary"."projectile"))..(defc | 
| 4320 | 75 73 74 6f 6d 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 | ustom.projectile-indexing-method | 
| 4340 | 0a 20 20 28 69 66 20 28 65 71 20 73 79 73 74 65    6d 2d 74 79 70 65 20 27 77 69 6e 64 6f 77 73 2d | ...(if.(eq.system-type.'windows- | 
| 4360 | 6e 74 29 20 27 6e 61 74 69 76 65 20 27 61 6c 69    65 6e 29 0a 20 20 22 53 70 65 63 69 66 69 65 73 | nt).'native.'alien)..."Specifies | 
| 4380 | 20 74 68 65 20 69 6e 64 65 78 69 6e 67 20 6d 65    74 68 6f 64 20 75 73 65 64 20 62 79 20 50 72 6f | .the.indexing.method.used.by.Pro | 
| 43a0 | 6a 65 63 74 69 6c 65 2e 0a 0a 54 68 65 72 65 20    61 72 65 20 74 68 72 65 65 20 69 6e 64 65 78 69 | jectile...There.are.three.indexi | 
| 43c0 | 6e 67 20 6d 65 74 68 6f 64 73 20 2d 20 6e 61 74    69 76 65 2c 20 68 79 62 72 69 64 20 61 6e 64 20 | ng.methods.-.native,.hybrid.and. | 
| 43e0 | 61 6c 69 65 6e 2e 0a 0a 54 68 65 20 6e 61 74 69    76 65 20 6d 65 74 68 6f 64 20 69 73 20 69 6d 70 | alien...The.native.method.is.imp | 
| 4400 | 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63    73 20 4c 69 73 70 20 28 74 68 65 72 65 66 6f 72 | lemented.in.Emacs.Lisp.(therefor | 
| 4420 | 65 20 69 74 20 69 73 0a 6e 61 74 69 76 65 20 74    6f 20 45 6d 61 63 73 29 2e 20 20 49 74 73 20 61 | e.it.is.native.to.Emacs)...Its.a | 
| 4440 | 64 76 61 6e 74 61 67 65 20 69 73 20 74 68 61 74    20 69 74 20 69 73 20 70 6f 72 74 61 62 6c 65 20 | dvantage.is.that.it.is.portable. | 
| 4460 | 61 6e 64 20 77 69 6c 6c 0a 77 6f 72 6b 20 65 76    65 72 79 77 68 65 72 65 20 74 68 61 74 20 45 6d | and.will.work.everywhere.that.Em | 
| 4480 | 61 63 73 20 64 6f 65 73 2e 20 20 49 74 73 20 64    69 73 61 64 76 61 6e 74 61 67 65 20 69 73 20 74 | acs.does...Its.disadvantage.is.t | 
| 44a0 | 68 61 74 20 69 74 20 69 73 20 61 0a 62 69 74 20    73 6c 6f 77 20 28 65 73 70 65 63 69 61 6c 6c 79 | hat.it.is.a.bit.slow.(especially | 
| 44c0 | 20 66 6f 72 20 6c 61 72 67 65 20 70 72 6f 6a 65    63 74 73 29 2e 20 20 47 65 6e 65 72 61 6c 6c 79 | .for.large.projects)...Generally | 
| 44e0 | 20 69 74 27 73 20 61 20 67 6f 6f 64 0a 69 64 65    61 20 74 6f 20 70 61 69 72 20 74 68 65 20 6e 61 | .it's.a.good.idea.to.pair.the.na | 
| 4500 | 74 69 76 65 20 69 6e 64 65 78 69 6e 67 20 6d 65    74 68 6f 64 20 77 69 74 68 20 63 61 63 68 69 6e | tive.indexing.method.with.cachin | 
| 4520 | 67 2e 0a 0a 54 68 65 20 68 79 62 72 69 64 20 69    6e 64 65 78 69 6e 67 20 6d 65 74 68 6f 64 20 75 | g...The.hybrid.indexing.method.u | 
| 4540 | 73 65 73 20 65 78 74 65 72 6e 61 6c 20 74 6f 6f    6c 73 20 28 65 2e 67 2e 20 67 69 74 2c 20 66 69 | ses.external.tools.(e.g..git,.fi | 
| 4560 | 6e 64 2c 0a 65 74 63 29 20 74 6f 20 73 70 65 65    64 20 75 70 20 74 68 65 20 69 6e 64 65 78 69 6e | nd,.etc).to.speed.up.the.indexin | 
| 4580 | 67 20 70 72 6f 63 65 73 73 2e 20 20 53 74 69 6c    6c 2c 20 74 68 65 20 66 69 6c 65 73 20 77 69 6c | g.process...Still,.the.files.wil | 
| 45a0 | 6c 20 62 65 0a 70 6f 73 74 2d 70 72 6f 63 65 73    73 65 64 20 62 79 20 50 72 6f 6a 65 63 74 69 6c | l.be.post-processed.by.Projectil | 
| 45c0 | 65 20 66 6f 72 20 73 6f 72 74 69 6e 67 2f 66 69    6c 74 65 72 69 6e 67 20 70 75 72 70 6f 73 65 73 | e.for.sorting/filtering.purposes | 
| 45e0 | 2e 0a 49 6e 20 74 68 69 73 20 73 65 6e 73 65 20    74 68 61 74 20 61 70 70 72 6f 61 63 68 20 69 73 | ..In.this.sense.that.approach.is | 
| 4600 | 20 61 20 68 79 62 72 69 64 20 62 65 74 77 65 65    6e 20 6e 61 74 69 76 65 20 69 6e 64 65 78 69 6e | .a.hybrid.between.native.indexin | 
| 4620 | 67 0a 61 6e 64 20 61 6c 69 65 6e 20 69 6e 64 65    78 69 6e 67 2e 0a 0a 54 68 65 20 61 6c 69 65 6e | g.and.alien.indexing...The.alien | 
| 4640 | 20 69 6e 64 65 78 69 6e 67 20 6d 65 74 68 6f 64    20 6f 70 74 69 6d 69 7a 65 73 20 74 6f 20 74 68 | .indexing.method.optimizes.to.th | 
| 4660 | 65 20 6c 69 6d 69 74 20 74 68 65 20 73 70 65 65    64 0a 6f 66 20 74 68 65 20 68 79 62 72 69 64 20 | e.limit.the.speed.of.the.hybrid. | 
| 4680 | 69 6e 64 65 78 69 6e 67 20 6d 65 74 68 6f 64 2e    20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 | indexing.method...This.means.tha | 
| 46a0 | 74 20 50 72 6f 6a 65 63 74 69 6c 65 20 77 69 6c    6c 0a 6e 6f 74 20 64 6f 20 61 6e 79 20 70 72 6f | t.Projectile.will.not.do.any.pro | 
| 46c0 | 63 65 73 73 69 6e 67 20 6f 66 20 74 68 65 20 66    69 6c 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 | cessing.of.the.files.returned.by | 
| 46e0 | 20 74 68 65 20 65 78 74 65 72 6e 61 6c 0a 63 6f    6d 6d 61 6e 64 73 20 61 6e 64 20 79 6f 75 27 72 | .the.external.commands.and.you'r | 
| 4700 | 65 20 67 6f 69 6e 67 20 74 6f 20 67 65 74 20 74    68 65 20 6d 61 78 69 6d 75 6d 20 70 65 72 66 6f | e.going.to.get.the.maximum.perfo | 
| 4720 | 72 6d 61 6e 63 65 0a 70 6f 73 73 69 62 6c 65 2e    20 20 54 68 69 73 20 62 65 68 61 76 69 6f 75 72 | rmance.possible...This.behaviour | 
| 4740 | 20 6d 61 6b 65 73 20 61 20 6c 6f 74 20 6f 66 20    73 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 70 | .makes.a.lot.of.sense.for.most.p | 
| 4760 | 65 6f 70 6c 65 2c 0a 61 73 20 74 68 65 79 27 64    20 74 79 70 69 63 61 6c 6c 79 20 62 65 20 70 75 | eople,.as.they'd.typically.be.pu | 
| 4780 | 74 74 69 6e 67 20 69 67 6e 6f 72 65 73 20 69 6e    20 74 68 65 69 72 20 56 43 53 20 63 6f 6e 66 69 | tting.ignores.in.their.VCS.confi | 
| 47a0 | 67 20 61 6e 64 0a 77 6f 6e 27 74 20 63 61 72 65    20 61 62 6f 75 74 20 61 6e 79 20 61 64 64 69 74 | g.and.won't.care.about.any.addit | 
| 47c0 | 69 6f 6e 61 6c 20 69 67 6e 6f 72 65 73 2f 75 6e    69 67 6e 6f 72 65 73 2f 73 6f 72 74 69 6e 67 20 | ional.ignores/unignores/sorting. | 
| 47e0 | 74 68 61 74 0a 50 72 6f 6a 65 63 74 69 6c 65 20    6d 69 67 68 74 20 61 6c 73 6f 20 70 72 6f 76 69 | that.Projectile.might.also.provi | 
| 4800 | 64 65 2e 0a 0a 54 68 65 20 64 69 73 61 64 76 61    6e 74 61 67 65 20 6f 66 20 74 68 65 20 68 79 62 | de...The.disadvantage.of.the.hyb | 
| 4820 | 72 69 64 20 61 6e 64 20 61 6c 69 65 6e 20 6d 65    74 68 6f 64 73 20 69 73 20 74 68 61 74 20 74 68 | rid.and.alien.methods.is.that.th | 
| 4840 | 65 79 20 61 72 65 20 6e 6f 74 20 77 65 6c 6c 0a    73 75 70 70 6f 72 74 65 64 20 6f 6e 20 57 69 6e | ey.are.not.well.supported.on.Win | 
| 4860 | 64 6f 77 73 20 73 79 73 74 65 6d 73 2e 20 20 54    68 61 74 27 73 20 77 68 79 20 62 79 20 64 65 66 | dows.systems...That's.why.by.def | 
| 4880 | 61 75 6c 74 20 61 6c 69 65 6e 20 69 6e 64 65 78    69 6e 67 20 69 73 20 74 68 65 0a 64 65 66 61 75 | ault.alien.indexing.is.the.defau | 
| 48a0 | 6c 74 20 6f 6e 20 61 6c 6c 20 6f 70 65 72 61 74    69 6e 67 20 73 79 73 74 65 6d 73 2c 20 65 78 63 | lt.on.all.operating.systems,.exc | 
| 48c0 | 65 70 74 20 57 69 6e 64 6f 77 73 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 | ept.Windows."...:group.'projecti | 
| 48e0 | 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 20 20 20 20 28 63 6f | le...:type.'(radio...........(co | 
| 4900 | 6e 73 74 20 3a 74 61 67 20 22 4e 61 74 69 76 65    22 20 6e 61 74 69 76 65 29 0a 20 20 20 20 20 20 | nst.:tag."Native".native)....... | 
| 4920 | 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20    22 48 79 62 72 69 64 22 20 68 79 62 72 69 64 29 | ....(const.:tag."Hybrid".hybrid) | 
| 4940 | 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    74 20 3a 74 61 67 20 22 41 6c 69 65 6e 22 20 61 | ...........(const.:tag."Alien".a | 
| 4960 | 6c 69 65 6e 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 65 | lien)))..(defcustom.projectile-e | 
| 4980 | 6e 61 62 6c 65 2d 63 61 63 68 69 6e 67 20 28 65    71 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 64 | nable-caching.(eq.projectile-ind | 
| 49a0 | 65 78 69 6e 67 2d 6d 65 74 68 6f 64 20 27 6e 61    74 69 76 65 29 0a 20 20 22 57 68 65 6e 20 74 20 | exing-method.'native)..."When.t. | 
| 49c0 | 65 6e 61 62 6c 65 73 20 70 72 6f 6a 65 63 74 20    66 69 6c 65 73 20 63 61 63 68 69 6e 67 2e 0a 0a | enables.project.files.caching... | 
| 49e0 | 4e 6f 72 6d 61 6c 6c 79 20 74 68 65 20 63 61 63    68 65 20 6c 61 73 74 73 20 66 6f 72 20 74 68 65 | Normally.the.cache.lasts.for.the | 
| 4a00 | 20 64 75 72 61 74 69 6f 6e 20 6f 66 20 79 6f 75    72 20 45 6d 61 63 73 20 73 65 73 73 69 6f 6e 2e | .duration.of.your.Emacs.session. | 
| 4a20 | 0a 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20    63 61 63 68 65 20 74 6f 20 70 65 72 73 69 73 74 | .If.you.want.to.cache.to.persist | 
| 4a40 | 20 62 65 74 77 65 65 6e 20 45 6d 61 63 73 20 73    65 73 73 69 6f 6e 73 20 79 6f 75 0a 73 68 6f 75 | .between.Emacs.sessions.you.shou | 
| 4a60 | 6c 64 20 73 65 74 20 74 68 69 73 20 6f 70 74 69    6f 6e 20 74 6f 20 60 27 70 65 72 73 69 73 74 65 | ld.set.this.option.to.`'persiste | 
| 4a80 | 6e 74 27 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 6d 61 74 | nt'...Project.caching.is.automat | 
| 4aa0 | 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 79 6f 75 | ically.enabled.by.default.if.you | 
| 4ac0 | 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 20 6d 65 | 're.using.the.native.indexing.me | 
| 4ae0 | 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 20 3a 74 | thod."...:group.'projectile...:t | 
| 4b00 | 79 70 65 20 27 28 72 61 64 69 6f 0a 20 20 20 20    20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 | ype.'(radio...........(const.:ta | 
| 4b20 | 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 20 28 63 6f 6e | g."Disabled".nil)...........(con | 
| 4b40 | 73 74 20 3a 74 61 67 20 22 54 72 61 6e 73 69 65    6e 74 22 20 74 29 0a 20 20 20 20 20 20 20 20 20 | st.:tag."Transient".t).......... | 
| 4b60 | 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 50 65    72 73 69 73 74 65 6e 74 22 20 70 65 72 73 69 73 | .(const.:tag."Persistent".persis | 
| 4b80 | 74 65 6e 74 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 6b | tent)))..(defcustom.projectile-k | 
| 4ba0 | 69 6c 6c 2d 62 75 66 66 65 72 73 2d 66 69 6c 74    65 72 20 27 6b 69 6c 6c 2d 61 6c 6c 0a 20 20 22 | ill-buffers-filter.'kill-all..." | 
| 4bc0 | 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20    62 75 66 66 65 72 73 20 61 72 65 20 6b 69 6c 6c | Determine.which.buffers.are.kill | 
| 4be0 | 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 73 27 2e | ed.by.`projectile-kill-buffers'. | 
| 4c00 | 0a 0a 57 68 65 6e 20 74 68 65 20 6b 69 6c 6c 2d    61 6c 6c 20 6f 70 74 69 6f 6e 20 69 73 20 73 65 | ..When.the.kill-all.option.is.se | 
| 4c20 | 6c 65 63 74 65 64 2c 20 6b 69 6c 6c 73 20 65 61    63 68 20 62 75 66 66 65 72 2e 0a 0a 57 68 65 6e | lected,.kills.each.buffer...When | 
| 4c40 | 20 74 68 65 20 6b 69 6c 6c 2d 6f 6e 6c 79 2d 66    69 6c 65 73 20 6f 70 74 69 6f 6e 20 69 73 20 73 | .the.kill-only-files.option.is.s | 
| 4c60 | 65 6c 65 63 74 65 64 2c 20 6b 69 6c 6c 20 6f 6e    6c 79 20 74 68 65 20 62 75 66 66 65 72 0a 61 73 | elected,.kill.only.the.buffer.as | 
| 4c80 | 73 6f 63 69 61 74 65 64 20 74 6f 20 61 20 66 69    6c 65 2e 0a 0a 4f 74 68 65 72 77 69 73 65 2c 20 | sociated.to.a.file...Otherwise,. | 
| 4ca0 | 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 70    72 65 64 69 63 61 74 65 20 74 68 61 74 20 74 61 | it.should.be.a.predicate.that.ta | 
| 4cc0 | 6b 65 73 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74    3a 20 74 68 65 20 62 75 66 66 65 72 20 74 6f 0a | kes.one.argument:.the.buffer.to. | 
| 4ce0 | 62 65 20 6b 69 6c 6c 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 | be.killed."...:group.'projectile | 
| 4d00 | 0a 20 20 3a 74 79 70 65 20 27 28 72 61 64 69 6f    0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 | ...:type.'(radio...........(cons | 
| 4d20 | 74 20 3a 74 61 67 20 22 41 6c 6c 20 70 72 6f 6a    65 63 74 20 62 75 66 66 65 72 73 22 20 6b 69 6c | t.:tag."All.project.buffers".kil | 
| 4d40 | 6c 2d 61 6c 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 50 72 | l-all)...........(const.:tag."Pr | 
| 4d60 | 6f 6a 65 63 74 20 66 69 6c 65 20 62 75 66 66 65    72 73 22 20 6b 69 6c 6c 2d 6f 6e 6c 79 2d 66 69 | oject.file.buffers".kill-only-fi | 
| 4d80 | 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28    66 75 6e 63 74 69 6f 6e 20 3a 74 61 67 20 22 50 | les)...........(function.:tag."P | 
| 4da0 | 72 65 64 69 63 61 74 65 22 29 29 29 0a 0a 28 64    65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 | redicate")))..(defcustom.project | 
| 4dc0 | 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 2d 65 78 70 69 | ile-file-exists-local-cache-expi | 
| 4de0 | 72 65 20 6e 69 6c 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 | re.nil..."Number.of.seconds.befo | 
| 4e00 | 72 65 20 74 68 65 20 6c 6f 63 61 6c 20 66 69 6c    65 20 65 78 69 73 74 65 6e 63 65 20 63 61 63 68 | re.the.local.file.existence.cach | 
| 4e20 | 65 20 65 78 70 69 72 65 73 2e 0a 4c 6f 63 61 6c    20 72 65 66 65 72 73 20 74 6f 20 61 20 66 69 6c | e.expires..Local.refers.to.a.fil | 
| 4e40 | 65 20 6f 6e 20 61 20 6c 6f 63 61 6c 20 66 69 6c    65 20 73 79 73 74 65 6d 2e 0a 0a 41 20 76 61 6c | e.on.a.local.file.system...A.val | 
| 4e60 | 75 65 20 6f 66 20 6e 69 6c 20 64 69 73 61 62 6c    65 73 20 74 68 69 73 20 63 61 63 68 65 2e 0a 53 | ue.of.nil.disables.this.cache..S | 
| 4e80 | 65 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6c 65 2d 65 78 69 73 74 73 2d 70 27 20 66 6f | ee.`projectile-file-exists-p'.fo | 
| 4ea0 | 72 20 64 65 74 61 69 6c 73 2e 22 0a 20 20 3a 67    72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 | r.details."...:group.'projectile | 
| 4ec0 | 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63    65 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 44 | ...:type.'(choice.(const.:tag."D | 
| 4ee0 | 69 73 61 62 6c 65 64 22 20 6e 69 6c 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | isabled".nil)..................( | 
| 4f00 | 69 6e 74 65 67 65 72 20 3a 74 61 67 20 22 53 65    63 6f 6e 64 73 22 29 29 29 0a 0a 28 64 65 66 63 | integer.:tag."Seconds")))..(defc | 
| 4f20 | 75 73 74 6f 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 72 65 6d | ustom.projectile-file-exists-rem | 
| 4f40 | 6f 74 65 2d 63 61 63 68 65 2d 65 78 70 69 72 65    20 28 2a 20 35 20 36 30 29 0a 20 20 22 4e 75 6d | ote-cache-expire.(*.5.60)..."Num | 
| 4f60 | 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 62    65 66 6f 72 65 20 74 68 65 20 72 65 6d 6f 74 65 | ber.of.seconds.before.the.remote | 
| 4f80 | 20 66 69 6c 65 20 65 78 69 73 74 65 6e 63 65 20    63 61 63 68 65 20 65 78 70 69 72 65 73 2e 0a 52 | .file.existence.cache.expires..R | 
| 4fa0 | 65 6d 6f 74 65 20 72 65 66 65 72 73 20 74 6f 20    61 20 66 69 6c 65 20 6f 6e 20 61 20 72 65 6d 6f | emote.refers.to.a.file.on.a.remo | 
| 4fc0 | 74 65 20 66 69 6c 65 20 73 79 73 74 65 6d 20 73    75 63 68 20 61 73 20 74 72 61 6d 70 2e 0a 0a 41 | te.file.system.such.as.tramp...A | 
| 4fe0 | 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 20 63 61 63 68 | .value.of.nil.disables.this.cach | 
| 5000 | 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 73 74 73 2d 70 | e..See.`projectile-file-exists-p | 
| 5020 | 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 72 6f 6a 65 63 | '.for.details."...:group.'projec | 
| 5040 | 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 74 20 3a 74 61 | tile...:type.'(choice.(const.:ta | 
| 5060 | 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 20 20 20 20 20 | g."Disabled".nil)............... | 
| 5080 | 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 29 29 0a 0a 28 | ...(integer.:tag."Seconds")))..( | 
| 50a0 | 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 73 2d 63 61 63 68 65 | defcustom.projectile-files-cache | 
| 50c0 | 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 6f 6e 64 73 | -expire.nil..."Number.of.seconds | 
| 50e0 | 20 62 65 66 6f 72 65 20 70 72 6f 6a 65 63 74 20    66 69 6c 65 73 20 6c 69 73 74 20 63 61 63 68 65 | .before.project.files.list.cache | 
| 5100 | 20 65 78 70 69 72 65 73 2e 0a 0a 41 20 76 61 6c    75 65 20 6f 66 20 6e 69 6c 20 6d 65 61 6e 73 20 | .expires...A.value.of.nil.means. | 
| 5120 | 74 68 65 20 63 61 63 68 65 20 6e 65 76 65 72 20    65 78 70 69 72 65 73 2e 22 0a 20 20 3a 67 72 6f | the.cache.never.expires."...:gro | 
| 5140 | 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 63 65 20 | up.'projectile...:type.'(choice. | 
| 5160 | 28 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 | (const.:tag."Disabled".nil)..... | 
| 5180 | 20 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 | .............(integer.:tag."Seco | 
| 51a0 | 6e 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 61 | nds")))..(defcustom.projectile-a | 
| 51c0 | 75 74 6f 2d 64 69 73 63 6f 76 65 72 20 74 0a 20    20 22 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 | uto-discover.t..."Whether.to.dis | 
| 51e0 | 63 6f 76 65 72 20 70 72 6f 6a 65 63 74 73 20 77    68 65 6e 20 70 72 6f 6a 65 63 74 20 73 77 69 74 | cover.projects.when.project.swit | 
| 5200 | 63 68 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 61    72 65 20 69 6e 76 6f 6b 65 64 2e 0a 0a 53 65 65 | ching.commands.are.invoked...See | 
| 5220 | 20 61 6c 73 6f 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 | .also.`projectile-project-search | 
| 5240 | 2d 70 61 74 68 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 | -path'."...:group.'projectile... | 
| 5260 | 3a 74 79 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 | :type.'boolean...:package-versio | 
| 5280 | 6e 20 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e    20 22 32 2e 33 2e 30 22 29 29 0a 0a 28 64 65 66 | n.'(projectile..."2.3.0"))..(def | 
| 52a0 | 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c    65 2d 61 75 74 6f 2d 63 6c 65 61 6e 75 70 2d 6b | custom.projectile-auto-cleanup-k | 
| 52c0 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20 6e 69    6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 | nown-projects.nil..."Whether.to. | 
| 52e0 | 63 6c 65 61 6e 75 70 20 70 72 6f 6a 65 63 74 73    20 77 68 65 6e 20 70 72 6f 6a 65 63 74 20 73 77 | cleanup.projects.when.project.sw | 
| 5300 | 69 74 63 68 69 6e 67 20 63 6f 6d 6d 61 6e 64 73    20 61 72 65 20 69 6e 76 6f 6b 65 64 2e 0a 0a 53 | itching.commands.are.invoked...S | 
| 5320 | 65 65 20 61 6c 73 6f 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 63 6c 65 61 6e 75 70 2d 6b 6e 6f 77 | ee.also.`projectile-cleanup-know | 
| 5340 | 6e 2d 70 72 6f 6a 65 63 74 73 27 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 | n-projects'."...:group.'projecti | 
| 5360 | 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 65 2d 76 | le...:type.'boolean...:package-v | 
| 5380 | 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 39 2e 30 22 29 29 0a | ersion.'(projectile..."2.9.0")). | 
| 53a0 | 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a    65 63 74 69 6c 65 2d 61 75 74 6f 2d 75 70 64 61 | .(defcustom.projectile-auto-upda | 
| 53c0 | 74 65 2d 63 61 63 68 65 20 74 0a 20 20 22 57 68    65 74 68 65 72 20 63 61 63 68 65 20 69 73 20 61 | te-cache.t..."Whether.cache.is.a | 
| 53e0 | 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 70 64    61 74 65 64 20 77 68 65 6e 20 66 69 6c 65 73 20 | utomatically.updated.when.files. | 
| 5400 | 61 72 65 20 6f 70 65 6e 65 64 20 6f 72 20 64 65    6c 65 74 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 | are.opened.or.deleted."...:group | 
| 5420 | 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 29 0a 0a | .'projectile...:type.'boolean).. | 
| 5440 | 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65    63 74 69 6c 65 2d 72 65 71 75 69 72 65 2d 70 72 | (defcustom.projectile-require-pr | 
| 5460 | 6f 6a 65 63 74 2d 72 6f 6f 74 20 27 70 72 6f 6d    70 74 0a 20 20 22 52 65 71 75 69 72 65 20 74 68 | oject-root.'prompt..."Require.th | 
| 5480 | 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 61 20    70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 74 6f 20 | e.presence.of.a.project.root.to. | 
| 54a0 | 6f 70 65 72 61 74 65 20 77 68 65 6e 20 74 72 75    65 2e 0a 57 68 65 6e 20 73 65 74 20 74 6f 20 60 | operate.when.true..When.set.to.` | 
| 54c0 | 70 72 6f 6d 70 74 27 20 50 72 6f 6a 65 63 74 69    6c 65 20 77 69 6c 6c 20 61 73 6b 20 79 6f 75 20 | prompt'.Projectile.will.ask.you. | 
| 54e0 | 74 6f 20 73 65 6c 65 63 74 20 61 20 70 72 6f 6a    65 63 74 0a 64 69 72 65 63 74 6f 72 79 20 69 66 | to.select.a.project.directory.if | 
| 5500 | 20 79 6f 75 27 72 65 20 6e 6f 74 20 69 6e 20 61    20 70 72 6f 6a 65 63 74 2e 0a 0a 57 68 65 6e 20 | .you're.not.in.a.project...When. | 
| 5520 | 6e 69 6c 20 50 72 6f 6a 65 63 74 69 6c 65 20 77    69 6c 6c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 | nil.Projectile.will.consider.the | 
| 5540 | 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f    72 79 20 74 68 65 20 70 72 6f 6a 65 63 74 20 72 | .current.directory.the.project.r | 
| 5560 | 6f 6f 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 74 79 | oot."...:group.'projectile...:ty | 
| 5580 | 70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e    73 74 20 3a 74 61 67 20 22 4e 6f 22 20 6e 69 6c | pe.'(choice.(const.:tag."No".nil | 
| 55a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 | )..................(const.:tag." | 
| 55c0 | 59 65 73 22 20 74 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 | Yes".t)..................(const. | 
| 55e0 | 3a 74 61 67 20 22 50 72 6f 6d 70 74 20 66 6f 72    20 70 72 6f 6a 65 63 74 22 20 70 72 6f 6d 70 74 | :tag."Prompt.for.project".prompt | 
| 5600 | 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 63 6f 6d 70 6c | )))..(defcustom.projectile-compl | 
| 5620 | 65 74 69 6f 6e 2d 73 79 73 74 65 6d 20 27 61 75    74 6f 0a 20 20 22 54 68 65 20 63 6f 6d 70 6c 65 | etion-system.'auto..."The.comple | 
| 5640 | 74 69 6f 6e 20 73 79 73 74 65 6d 20 74 6f 20 62    65 20 75 73 65 64 20 62 79 20 50 72 6f 6a 65 63 | tion.system.to.be.used.by.Projec | 
| 5660 | 74 69 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 | tile."...:group.'projectile...:t | 
| 5680 | 79 70 65 20 27 28 72 61 64 69 6f 0a 20 20 20 20    20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 | ype.'(radio...........(const.:ta | 
| 56a0 | 67 20 22 41 75 74 6f 2d 64 65 74 65 63 74 22 20    61 75 74 6f 29 0a 20 20 20 20 20 20 20 20 20 20 | g."Auto-detect".auto)........... | 
| 56c0 | 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 49 64 6f    22 20 69 64 6f 29 0a 20 20 20 20 20 20 20 20 20 | (const.:tag."Ido".ido).......... | 
| 56e0 | 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 48 65    6c 6d 22 20 68 65 6c 6d 29 0a 20 20 20 20 20 20 | .(const.:tag."Helm".helm)....... | 
| 5700 | 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20    22 49 76 79 22 20 69 76 79 29 0a 20 20 20 20 20 | ....(const.:tag."Ivy".ivy)...... | 
| 5720 | 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 22 20 64 65 66 61 75 | .....(const.:tag."Default".defau | 
| 5740 | 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 66    75 6e 63 74 69 6f 6e 20 3a 74 61 67 20 22 43 75 | lt)...........(function.:tag."Cu | 
| 5760 | 73 74 6f 6d 20 66 75 6e 63 74 69 6f 6e 22 29 29    29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 | stom.function")))..(defcustom.pr | 
| 5780 | 6f 6a 65 63 74 69 6c 65 2d 6b 65 79 6d 61 70 2d    70 72 65 66 69 78 20 6e 69 6c 0a 20 20 22 50 72 | ojectile-keymap-prefix.nil..."Pr | 
| 57a0 | 6f 6a 65 63 74 69 6c 65 20 6b 65 79 6d 61 70 20    70 72 65 66 69 78 2e 22 0a 20 20 3a 67 72 6f 75 | ojectile.keymap.prefix."...:grou | 
| 57c0 | 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 0a 0a | p.'projectile...:type.'string).. | 
| 57e0 | 28 64 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 | (defcustom.projectile-cache-file | 
| 5800 | 20 20 22 2e 70 72 6f 6a 65 63 74 69 6c 65 2d 63    61 63 68 65 2e 65 6c 64 22 0a 20 20 22 54 68 65 | ..".projectile-cache.eld"..."The | 
| 5820 | 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 2e 0a 49 74 27 | .name.of.Projectile's.cache..It' | 
| 5840 | 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 22 | s.relative.to.the.project.root." | 
| 5860 | 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 73 | ...:group.'projectile...:type.'s | 
| 5880 | 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 65 2d 74 61 | tring)..(defcustom.projectile-ta | 
| 58a0 | 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 61 67 73 20 | gs-file-name."TAGS"..."The.tags. | 
| 58c0 | 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 74 6f 20 75 | filename.Projectile's.going.to.u | 
| 58e0 | 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 3a 74 79 70 | se."...:group.'projectile...:typ | 
| 5900 | 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 | 
| 5920 | 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 20 5c 22 25 | e-tags-command."ctags.-Re.-f.\"% | 
| 5940 | 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 64 20 50 72 | s\".%s.\"%s\""..."The.command.Pr | 
| 5960 | 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 65 6e 65 72 | ojectile's.going.to.use.to.gener | 
| 5980 | 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 70 72 6f 6a | ate.a.TAGS.file."...:group.'proj | 
| 59a0 | 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 73 | ectile...:type.'string)..(defcus | 
| 59c0 | 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 27 61 75 74 | tom.projectile-tags-backend.'aut | 
| 59e0 | 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 6f 6a 65 63 | o..."The.tag.backend.that.Projec | 
| 5a00 | 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 60 61 75 74 | tile.should.use...If.set.to.`aut | 
| 5a20 | 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 6c 6c 20 61 | o',.`projectile-find-tag'.will.a | 
| 5a40 | 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 63 6b 65 6e | utomatically.choose.which.backen | 
| 5a60 | 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 69 73 20 67 | d.to.use...Preference.order.is.g | 
| 5a80 | 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 74 20 2d 3e | gtags.->.xref.->.etags-select.-> | 
| 5aa0 | 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 6c 73 6f 20 | .`find-tag'...Variable.can.also. | 
| 5ac0 | 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 65 6e 64 20 | be.set.to.specify.which.backend. | 
| 5ae0 | 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 20 69 73 20 | to.use...If.selected.backend.is. | 
| 5b00 | 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 69 6e 64 2d | unavailable,.fall.back.to.`find- | 
| 5b20 | 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 65 74 20 74 | tag'...If.this.variable.is.set.t | 
| 5b40 | 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 61 62 6c 65 | o.`auto'.and.ggtags.is.available | 
| 5b60 | 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 6e 20 67 67 | ,.or.if.set.to.`ggtags',.then.gg | 
| 5b80 | 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 63 74 69 6c | tags.will.be.used.for.`projectil | 
| 5ba0 | 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 20 6f 74 68 | e-regenerate-tags'...For.all.oth | 
| 5bc0 | 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 2d 63 6f 6d | er.settings.`projectile-tags-com | 
| 5be0 | 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 70 20 27 70 | mand'.will.be.used."...:group.'p | 
| 5c00 | 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....... | 
| 5c20 | 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 0a 20 20 20 | ....(const.:tag."auto".auto).... | 
| 5c40 | 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 65 66 29 0a | .......(const.:tag."xref".xref). | 
| 5c60 | 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 73 22 20 67 | ..........(const.:tag."ggtags".g | 
| 5c80 | 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 20 22 65 74 | gtags)...........(const.:tag."et | 
| 5ca0 | 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 20 28 63 6f | ags".etags-select)...........(co | 
| 5cc0 | 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 29 29 0a 20 | nst.:tag."standard".find-tag)).. | 
| 5ce0 | 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.. | 
| 5d00 | 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 65 63 74 69 | ."0.14.0"))..(defcustom.projecti | 
| 5d20 | 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 65 20 73 6f | le-sort-order.'default..."The.so | 
| 5d40 | 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 73 20 66 69 | rt.order.used.for.a.project's.fi | 
| 5d60 | 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 20 73 6f 72 | les...Note.that.files.aren't.sor | 
| 5d80 | 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 6d 65 74 68 | ted.if.`projectile-indexing-meth | 
| 5da0 | 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 70 | od'.is.set.to.`alien'."...:group | 
| 5dc0 | 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 20 | .'projectile...:type.'(radio.... | 
| 5de0 | 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 28 6e 6f 20 | .......(const.:tag."Default.(no. | 
| 5e00 | 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 20 28 63 6f | sorting)".default)...........(co | 
| 5e20 | 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 6c 65 73 22 | nst.:tag."Recently.opened.files" | 
| 5e40 | 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 74 61 67 20 | .recentf)...........(const.:tag. | 
| 5e60 | 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 65 6e 20 72 | "Recently.active.buffers,.then.r | 
| 5e80 | 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 6c 79 2d 61 | ecently.opened.files".recently-a | 
| 5ea0 | 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 20 22 41 63 | ctive)...........(const.:tag."Ac | 
| 5ec0 | 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 6d 65 29 0a | cess.time.(atime)".access-time). | 
| 5ee0 | 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 69 63 61 74 | ..........(const.:tag."Modificat | 
| 5f00 | 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 6f 6e 2d 74 | ion.time.(mtime)".modification-t | 
| 5f20 | 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 65 2d 76 65 | ime)))..(defcustom.projectile-ve | 
| 5f40 | 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 74 20 61 72 | rbose.t..."Echo.messages.that.ar | 
| 5f60 | 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 6a 65 63 74 | e.not.errors."...:group.'project | 
| 5f80 | 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 75 73 74 6f | ile...:type.'boolean)..(defcusto | 
| 5fa0 | 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 66 75 6e 63 | m.projectile-buffers-filter-func | 
| 5fc0 | 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 74 6f 20 66 | tion.nil..."A.function.used.to.f | 
| 5fe0 | 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 74 69 6c 65 | ilter.the.buffers.in.`projectile | 
| 6000 | 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 74 69 6f 6e | -project-buffers'...The.function | 
| 6020 | 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 6c 69 73 74 | .should.accept.and.return.a.list | 
| 6040 | 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 6c 65 20 66 | .of.Emacs.buffers..Two.example.f | 
| 6060 | 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 62 79 20 64 | ilter.functions.are.shipped.by.d | 
| 6080 | 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 2d 77 69 74 | efault.-.`projectile-buffers-wit | 
| 60a0 | 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 65 72 73 2d | h-file'.and.`projectile-buffers- | 
| 60c0 | 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 72 6f 75 70 | with-file-or-process'."...:group | 
| 60e0 | 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 29 0a | .'projectile...:type.'function). | 
| 6100 | 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 2d 6e | .(defcustom.projectile-project-n | 
| 6120 | 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 6e 6f 6e 2d | ame.nil..."If.this.value.is.non- | 
| 6140 | 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 65 63 74 20 | nil,.it.will.be.used.as.project. | 
| 6160 | 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 72 20 66 75 | name...It.has.precedence.over.fu | 
| 6180 | 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 61 6d 65 2d | nction.`projectile-project-name- | 
| 61a0 | 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 74 69 6c 65 | function'."...:group.'projectile | 
| 61c0 | 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 76 65 72 73 | ...:type.'string...:package-vers | 
| 61e0 | 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"))..( | 
| 6200 | 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 2d 6e 61 6d | defcustom.projectile-project-nam | 
| 6220 | 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 6c 74 2d 70 | e-function.'projectile-default-p | 
| 6240 | 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 61 74 20 72 | roject-name..."A.function.that.r | 
| 6260 | 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 20 72 65 74 | eceives.the.project-root.and.ret | 
| 6280 | 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 61 72 69 61 | urns.the.project.name...If.varia | 
| 62a0 | 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 27 20 69 73 | ble.`projectile-project-name'.is | 
| 62c0 | 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 20 6e 6f 74 | .non-nil,.this.function.will.not | 
| 62e0 | 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 69 6c 65 0a | .be.used."...:group.'projectile. | 
| 6300 | 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 2d 76 65 72 | ..:type.'function...:package-ver | 
| 6320 | 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 0a | sion.'(projectile..."0.14.0")).. | 
| 6340 | 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 2d 72 6f | (defcustom.projectile-project-ro | 
| 6360 | 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 20 20 20 20 | ot-files...'(....."GTAGS"....... | 
| 6380 | 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 20 22 54 41 | .......;.GNU.Global.tags....."TA | 
| 63a0 | 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 61 67 73 20 | GS"...............;.etags/ctags. | 
| 63c0 | 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 72 6f 6a 65 | are.usually.in.the.root.of.proje | 
| 63e0 | 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 3b 20 61 75 | ct....."configure.ac".......;.au | 
| 6400 | 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 75 72 65 2e | toconf.new.style....."configure. | 
| 6420 | 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 6c 65 0a 20 | in".......;.autoconf.old.style.. | 
| 6440 | 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 63 6f 70 65 | ..."cscope.out".........;.cscope | 
| 6460 | 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 6e 73 69 64 | .....)..."A.list.of.files.consid | 
| 6480 | 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 72 6f 6a 65 | ered.to.mark.the.root.of.a.proje | 
| 64a0 | 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 65 63 65 64 | ct..The.topmost.match.has.preced | 
| 64c0 | 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 65 72 2d 70 | ence..See.`projectile-register-p | 
| 64e0 | 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 6a 65 63 74 | roject-type'."...:group.'project | 
| 6500 | 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 29 0a 0a 28 | ile...:type.'(repeat.string))..( | 
| 6520 | 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 2d 72 6f 6f | defcustom.projectile-project-roo | 
| 6540 | 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 20 20 20 20 | t-files-bottom-up...'(".git".... | 
| 6560 | 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 2e 68 67 22 | ....;.Git.VCS.root.dir.....".hg" | 
| 6580 | 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 74 20 64 69 | .........;.Mercurial.VCS.root.di | 
| 65a0 | 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 20 56 43 53 | r.....".fslckout"...;.Fossil.VCS | 
| 65c0 | 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 3b 20 46 6f | .root.dir....."_FOSSIL_"....;.Fo | 
| 65e0 | 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 20 20 20 20 | ssil.VCS.root.DB.on.Windows..... | 
| 6600 | 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 6f 6f 74 20 | ".bzr"........;.Bazaar.VCS.root. | 
| 6620 | 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 73 20 56 43 | dir....."_darcs"......;.Darcs.VC | 
| 6640 | 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 20 3b 20 50 | S.root.dir.....".pijul"......;.P | 
| 6660 | 69 6a 75 6c 20 56 43 53 20 72 6f 6f 74 20 64 69    72 0a 20 20 20 20 22 2e 73 6c 22 20 20 20 20 20 | ijul.VCS.root.dir.....".sl"..... | 
| 6680 | 20 20 20 20 3b 20 53 61 70 6c 69 6e 67 20 56 43    53 20 72 6f 6f 74 20 64 69 72 0a 20 20 20 20 22 | ....;.Sapling.VCS.root.dir....." | 
| 66a0 | 2e 6a 6a 22 20 20 20 20 20 20 20 20 20 3b 20 4a    75 6a 75 74 73 75 20 56 43 53 20 72 6f 6f 74 20 | .jj".........;.Jujutsu.VCS.root. | 
| 66c0 | 64 69 72 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 6e | dir.....)..."A.list.of.files.con | 
| 66e0 | 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 72 | sidered.to.mark.the.root.of.a.pr | 
| 6700 | 6f 6a 65 63 74 2e 0a 54 68 65 20 62 6f 74 74 6f    6d 6d 6f 73 74 20 28 70 61 72 65 6e 74 6d 6f 73 | oject..The.bottommost.(parentmos | 
| 6720 | 74 29 20 6d 61 74 63 68 20 68 61 73 20 70 72 65    63 65 64 65 6e 63 65 2e 22 0a 20 20 3a 67 72 6f | t).match.has.precedence."...:gro | 
| 6740 | 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 61 74 20 | up.'projectile...:type.'(repeat. | 
| 6760 | 73 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 | string))..(defcustom.projectile- | 
| 6780 | 70 72 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 | project-root-files-top-down-recu | 
| 67a0 | 72 72 69 6e 67 0a 20 20 27 28 22 2e 73 76 6e 22    20 3b 20 53 76 6e 20 56 43 53 20 72 6f 6f 74 20 | rring...'(".svn".;.Svn.VCS.root. | 
| 67c0 | 64 69 72 0a 20 20 20 20 22 43 56 53 22 20 20 3b    20 43 73 76 20 56 43 53 20 72 6f 6f 74 20 64 69 | dir....."CVS"..;.Csv.VCS.root.di | 
| 67e0 | 72 0a 20 20 20 20 22 4d 61 6b 65 66 69 6c 65 22    29 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20 66 | r....."Makefile")..."A.list.of.f | 
| 6800 | 69 6c 65 73 20 63 6f 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 | iles.considered.to.mark.the.root | 
| 6820 | 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 2e 0a 54    68 65 20 73 65 61 72 63 68 20 73 74 61 72 74 73 | .of.a.project..The.search.starts | 
| 6840 | 20 61 74 20 74 68 65 20 74 6f 70 20 61 6e 64 20    64 65 73 63 65 6e 64 73 20 64 6f 77 6e 20 74 69 | .at.the.top.and.descends.down.ti | 
| 6860 | 6c 6c 20 61 20 64 69 72 65 63 74 6f 72 79 0a 74    68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 6d | ll.a.directory.that.contains.a.m | 
| 6880 | 61 74 63 68 20 66 69 6c 65 20 62 75 74 20 69 74    73 20 70 61 72 65 6e 74 20 64 6f 65 73 20 6e 6f | atch.file.but.its.parent.does.no | 
| 68a0 | 74 2e 20 20 54 68 75 73 2c 20 69 74 27 73 20 61    0a 62 6f 74 74 6f 6d 6d 6f 73 74 20 6d 61 74 63 | t...Thus,.it's.a.bottommost.matc | 
| 68c0 | 68 20 69 6e 20 74 68 65 20 74 6f 70 6d 6f 73 74    20 73 65 71 75 65 6e 63 65 20 6f 66 20 64 69 72 | h.in.the.topmost.sequence.of.dir | 
| 68e0 | 65 63 74 6f 72 69 65 73 0a 63 6f 6e 74 61 69 6e    69 6e 67 20 61 20 72 6f 6f 74 20 66 69 6c 65 2e | ectories.containing.a.root.file. | 
| 6900 | 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 27 | "...:group.'projectile...:type.' | 
| 6920 | 28 72 65 70 65 61 74 20 73 74 72 69 6e 67 29 29    0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 | (repeat.string))..(define-obsole | 
| 6940 | 74 65 2d 76 61 72 69 61 62 6c 65 2d 61 6c 69 61    73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | te-variable-alias.'projectile-pr | 
| 6960 | 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 20 27 70 72 6f 6a | oject-root-files-functions.'proj | 
| 6980 | 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 69 6f 6e 73 20 22 32 | ectile-project-root-functions."2 | 
| 69a0 | 2e 34 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 70 72 6f 6a | .4")..(defcustom.projectile-proj | 
| 69c0 | 65 63 74 2d 72 6f 6f 74 2d 66 75 6e 63 74 69 6f    6e 73 0a 20 20 27 28 70 72 6f 6a 65 63 74 69 6c | ect-root-functions...'(projectil | 
| 69e0 | 65 2d 72 6f 6f 74 2d 6c 6f 63 61 6c 0a 20 20 20    20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 6f 6f 74 | e-root-local.....projectile-root | 
| 6a00 | 2d 6d 61 72 6b 65 64 0a 20 20 20 20 70 72 6f 6a    65 63 74 69 6c 65 2d 72 6f 6f 74 2d 62 6f 74 74 | -marked.....projectile-root-bott | 
| 6a20 | 6f 6d 2d 75 70 0a 20 20 20 20 70 72 6f 6a 65 63    74 69 6c 65 2d 72 6f 6f 74 2d 74 6f 70 2d 64 6f | om-up.....projectile-root-top-do | 
| 6a40 | 77 6e 0a 20 20 20 20 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 | wn.....projectile-root-top-down- | 
| 6a60 | 72 65 63 75 72 72 69 6e 67 29 0a 20 20 22 41 20    6c 69 73 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e | recurring)..."A.list.of.function | 
| 6a80 | 73 20 66 6f 72 20 66 69 6e 64 69 6e 67 20 70 72    6f 6a 65 63 74 20 72 6f 6f 74 20 66 6f 6c 64 65 | s.for.finding.project.root.folde | 
| 6aa0 | 72 73 2e 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e    73 20 77 69 6c 6c 20 62 65 20 72 75 6e 20 75 6e | rs..The.functions.will.be.run.un | 
| 6ac0 | 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 20    72 65 74 75 72 6e 73 20 61 20 70 72 6f 6a 65 63 | til.one.of.them.returns.a.projec | 
| 6ae0 | 74 20 66 6f 6c 64 65 72 2e 0a 52 65 6f 72 64 65    72 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 | t.folder..Reordering.the.default | 
| 6b00 | 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 6c 6c 20    61 6c 74 65 72 20 74 68 65 20 70 72 6f 6a 65 63 | .functions.will.alter.the.projec | 
| 6b20 | 74 20 64 69 73 63 6f 76 65 72 79 0a 61 6c 67 6f    72 69 74 68 6d 2e 22 0a 20 20 3a 67 72 6f 75 70 | t.discovery.algorithm."...:group | 
| 6b40 | 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 66 75 | .'projectile...:type.'(repeat.fu | 
| 6b60 | 6e 63 74 69 6f 6e 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 | nction))..(defcustom.projectile- | 
| 6b80 | 64 69 72 63 6f 6e 66 69 67 2d 66 69 6c 65 0a 20    20 22 2e 70 72 6f 6a 65 63 74 69 6c 65 22 0a 20 | dirconfig-file...".projectile".. | 
| 6ba0 | 20 22 54 68 65 20 66 69 6c 65 20 77 68 69 63 68    20 73 65 72 76 65 73 20 62 6f 74 68 20 61 73 20 | ."The.file.which.serves.both.as. | 
| 6bc0 | 61 20 70 72 6f 6a 65 63 74 20 6d 61 72 6b 65 72    20 61 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 | a.project.marker.and.configurati | 
| 6be0 | 6f 6e 20 66 69 6c 65 2e 0a 54 68 69 73 20 73 68    6f 75 6c 64 20 5f 6e 6f 74 5f 20 62 65 20 73 65 | on.file..This.should._not_.be.se | 
| 6c00 | 74 20 76 69 61 20 2e 64 69 72 2d 6c 6f 63 61 6c    73 2e 65 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | t.via..dir-locals.el."...:group. | 
| 6c20 | 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74    79 70 65 20 27 66 69 6c 65 0a 20 20 3a 70 61 63 | 'projectile...:type.'file...:pac | 
| 6c40 | 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 32 2e 37 | kage-version.'(projectile..."2.7 | 
| 6c60 | 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 64 69 72 | .0"))..(defcustom.projectile-dir | 
| 6c80 | 63 6f 6e 66 69 67 2d 63 6f 6d 6d 65 6e 74 2d 70    72 65 66 69 78 0a 20 20 6e 69 6c 0a 20 20 22 60 | config-comment-prefix...nil..."` | 
| 6ca0 | 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 20 63 6f 6d 6d 65 | projectile-dirconfig-file`.comme | 
| 6cc0 | 6e 74 20 73 74 61 72 74 20 6d 61 72 6b 65 72 2e    0a 49 66 20 73 70 65 63 69 66 69 65 64 2c 20 73 | nt.start.marker..If.specified,.s | 
| 6ce0 | 74 61 72 74 69 6e 67 20 61 20 6c 69 6e 65 20 69    6e 20 61 20 70 72 6f 6a 65 63 74 27 73 20 2e 70 | tarting.a.line.in.a.project's..p | 
| 6d00 | 72 6f 6a 65 63 74 69 6c 65 20 66 69 6c 65 20 77    69 74 68 20 74 68 69 73 0a 63 68 61 72 61 63 74 | rojectile.file.with.this.charact | 
| 6d20 | 65 72 20 6d 61 72 6b 73 20 74 68 61 74 20 6c 69    6e 65 20 61 73 20 61 20 63 6f 6d 6d 65 6e 74 20 | er.marks.that.line.as.a.comment. | 
| 6d40 | 69 6e 73 74 65 61 64 20 6f 66 20 61 20 70 61 74    74 65 72 6e 2e 0a 53 69 6d 69 6c 61 72 20 74 6f | instead.of.a.pattern..Similar.to | 
| 6d60 | 20 27 23 27 20 69 6e 20 2e 67 69 74 69 67 6e 6f    72 65 20 66 69 6c 65 73 2e 22 0a 20 20 3a 67 72 | .'#'.in..gitignore.files."...:gr | 
| 6d80 | 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 63 68 61 72 61 63 74 | oup.'projectile...:type.'charact | 
| 6da0 | 65 72 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 | er...:package-version.'(projecti | 
| 6dc0 | 6c 65 20 2e 20 22 32 2e 32 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.2.0"))..(defcustom.proje | 
| 6de0 | 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 0a 20 20 28 | ctile-globally-ignored-files...( | 
| 6e00 | 6c 69 73 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 0a | list.projectile-tags-file-name). | 
| 6e20 | 20 20 22 41 20 6c 69 73 74 20 6f 66 20 66 69 6c    65 73 20 67 6c 6f 62 61 6c 6c 79 20 69 67 6e 6f | .."A.list.of.files.globally.igno | 
| 6e40 | 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 74 20 66 69 6c | red.by.projectile..Note.that.fil | 
| 6e60 | 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 65 63 74 69 6c | es.aren't.filtered.if.`projectil | 
| 6e80 | 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 6f 20 60 61 6c | e-indexing-method'.is.set.to.`al | 
| 6ea0 | 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 0a 20 20 3a 74 | ien'."...:group.'projectile...:t | 
| 6ec0 | 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 63 75 73 74 6f | ype.'(repeat.string))..(defcusto | 
| 6ee0 | 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 6e 6f 72 65 64 2d | m.projectile-globally-unignored- | 
| 6f00 | 66 69 6c 65 73 20 6e 69 6c 0a 20 20 22 41 20 6c    69 73 74 20 6f 66 20 66 69 6c 65 73 20 67 6c 6f | files.nil..."A.list.of.files.glo | 
| 6f20 | 62 61 6c 6c 79 20 75 6e 69 67 6e 6f 72 65 64 20    62 79 20 70 72 6f 6a 65 63 74 69 6c 65 2e 0a 0a | bally.unignored.by.projectile... | 
| 6f40 | 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. | 
| 6f60 | 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'. | 
| 6f80 | 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 70 20 27 70 72 | is.set.to.`alien'."...:group.'pr | 
| 6fa0 | 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 | 
| 6fc0 | 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 6c | )...:package-version.'(projectil | 
| 6fe0 | 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 65 | e..."0.14.0"))..(defcustom.proje | 
| 7000 | 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 73 75 66 66 | ctile-globally-ignored-file-suff | 
| 7020 | 69 78 65 73 0a 20 20 6e 69 6c 0a 20 20 22 41 20    6c 69 73 74 20 6f 66 20 66 69 6c 65 20 73 75 66 | ixes...nil..."A.list.of.file.suf | 
| 7040 | 66 69 78 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 | fixes.globally.ignored.by.projec | 
| 7060 | 74 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 | tile..Note.that.files.aren't.fil | 
| 7080 | 74 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 | tered.if.`projectile-indexing-me | 
| 70a0 | 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 72 6f | thod'.is.set.to.`alien'."...:gro | 
| 70c0 | 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 61 74 20 | up.'projectile...:type.'(repeat. | 
| 70e0 | 73 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 | string))..(defcustom.projectile- | 
| 7100 | 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 73 0a 20 20 27 | globally-ignored-directories...' | 
| 7120 | 28 22 2e 69 64 65 61 22 0a 20 20 20 20 22 2e 76    73 63 6f 64 65 22 0a 20 20 20 20 22 2e 65 6e 73 | (".idea".....".vscode".....".ens | 
| 7140 | 69 6d 65 5f 63 61 63 68 65 22 0a 20 20 20 20 22    2e 65 75 6e 69 74 22 0a 20 20 20 20 22 2e 67 69 | ime_cache".....".eunit".....".gi | 
| 7160 | 74 22 0a 20 20 20 20 22 2e 68 67 22 0a 20 20 20    20 22 2e 66 73 6c 63 6b 6f 75 74 22 0a 20 20 20 | t".....".hg".....".fslckout".... | 
| 7180 | 20 22 5f 46 4f 53 53 49 4c 5f 22 0a 20 20 20 20    22 2e 62 7a 72 22 0a 20 20 20 20 22 5f 64 61 72 | ."_FOSSIL_".....".bzr"....."_dar | 
| 71a0 | 63 73 22 0a 20 20 20 20 22 2e 70 69 6a 75 6c 22    0a 20 20 20 20 22 2e 74 6f 78 22 0a 20 20 20 20 | cs".....".pijul".....".tox"..... | 
| 71c0 | 22 2e 73 76 6e 22 0a 20 20 20 20 22 2e 73 74 61    63 6b 2d 77 6f 72 6b 22 0a 20 20 20 20 22 2e 63 | ".svn".....".stack-work".....".c | 
| 71e0 | 63 6c 73 2d 63 61 63 68 65 22 0a 20 20 20 20 22    2e 63 61 63 68 65 22 0a 20 20 20 20 22 2e 63 6c | cls-cache".....".cache".....".cl | 
| 7200 | 61 6e 67 64 22 0a 20 20 20 20 22 2e 73 6c 22 0a    20 20 20 20 22 2e 6a 6a 22 29 0a 20 20 22 41 20 | angd".....".sl".....".jj")..."A. | 
| 7220 | 6c 69 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 | list.of.directories.globally.ign | 
| 7240 | 6f 72 65 64 20 62 79 20 70 72 6f 6a 65 63 74 69    6c 65 2e 0a 0a 53 74 72 69 6e 67 73 20 74 68 61 | ored.by.projectile...Strings.tha | 
| 7260 | 74 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 | t.don't.start.with.*.are.only.ig | 
| 7280 | 6e 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 | nored.at.the.top.level.of.the.pr | 
| 72a0 | 6f 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 | oject...Strings.that.start.with. | 
| 72c0 | 2a 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 | *.are.ignored.everywhere.in.the. | 
| 72e0 | 70 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 | project,.as.if.there.was.no.*... | 
| 7300 | 53 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 | So.note.that.*.when.used.as.a.pr | 
| 7320 | 65 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 | efix.is.not.a.wildcard;.it.is.an | 
| 7340 | 20 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 | .indicator.that.the.directory.sh | 
| 7360 | 6f 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 | ould.be.ignored.at.all.levels,.n | 
| 7380 | 6f 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 | ot.just.root...Examples:.\"tmp\" | 
| 73a0 | 20 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 | .ignores.only../tmp.at.the.top.l | 
| 73c0 | 65 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 | evel.of.the.project,.but.not../s | 
| 73e0 | 72 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 | rc/tmp...\"*tmp\".will.ignore.bo | 
| 7400 | 74 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 | th../tmp.and../src/tmp,.but.not. | 
| 7420 | 2e 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 | ./not-a-tmp.or../src/not-a-tmp.. | 
| 7440 | 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 65 72 65 64 | .Note.that.files.aren't.filtered | 
| 7460 | 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 68 6f 64 27 | .if.`projectile-indexing-method' | 
| 7480 | 0a 69 73 20 73 65 74 20 74 6f 20 60 61 6c 69 65    6e 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 70 | .is.set.to.`alien'...See.also.`p | 
| 74a0 | 72 6f 6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c    2d 69 67 6e 6f 72 65 2d 66 69 6c 65 2d 70 61 74 | rojectile-global-ignore-file-pat | 
| 74c0 | 74 65 72 6e 73 27 2e 22 0a 20 20 3a 73 61 66 65    20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6e 6f | terns'."...:safe.(lambda.(x).(no | 
| 74e0 | 74 20 28 72 65 6d 71 20 74 20 28 6d 61 70 63 61    72 20 23 27 73 74 72 69 6e 67 70 20 78 29 29 29 | t.(remq.t.(mapcar.#'stringp.x))) | 
| 7500 | 29 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 | )...:group.'projectile...:type.' | 
| 7520 | 28 72 65 70 65 61 74 20 73 74 72 69 6e 67 29 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f | (repeat.string))..(defcustom.pro | 
| 7540 | 6a 65 63 74 69 6c 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 | jectile-globally-unignored-direc | 
| 7560 | 74 6f 72 69 65 73 20 6e 69 6c 0a 20 20 22 41 20    6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 | tories.nil..."A.list.of.director | 
| 7580 | 69 65 73 20 67 6c 6f 62 61 6c 6c 79 20 75 6e 69    67 6e 6f 72 65 64 20 62 79 20 70 72 6f 6a 65 63 | ies.globally.unignored.by.projec | 
| 75a0 | 74 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 | tile..Note.that.files.aren't.fil | 
| 75c0 | 74 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 | tered.if.`projectile-indexing-me | 
| 75e0 | 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 72 6f | thod'.is.set.to.`alien'."...:gro | 
| 7600 | 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 61 74 20 | up.'projectile...:type.'(repeat. | 
| 7620 | 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 27 28 70 72 6f | string)...:package-version.'(pro | 
| 7640 | 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 66 63 75 73 74 6f 6d | jectile..."0.14.0"))..(defcustom | 
| 7660 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 6c 6f 62    61 6c 2d 69 67 6e 6f 72 65 2d 66 69 6c 65 2d 70 | .projectile-global-ignore-file-p | 
| 7680 | 61 74 74 65 72 6e 73 0a 20 20 6e 69 6c 0a 20 20    22 41 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 | atterns...nil..."A.list.of.file. | 
| 76a0 | 72 65 67 65 78 70 20 70 61 74 74 65 72 6e 73 20    69 67 6e 6f 72 65 64 20 62 79 20 50 72 6f 6a 65 | regexp.patterns.ignored.by.Proje | 
| 76c0 | 63 74 69 6c 65 2e 0a 0a 49 74 20 63 6f 6d 70 6c    65 6d 65 6e 74 73 20 60 70 72 6f 6a 65 63 74 69 | ctile...It.complements.`projecti | 
| 76e0 | 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 27 20 61 6e 64 0a 60 | le-globally-ignored-files'.and.` | 
| 7700 | 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 65 64 2d 64 69 72 65 | projectile-globally-ignored-dire | 
| 7720 | 63 74 6f 72 69 65 73 27 2e 20 20 53 65 65 20 61    6c 73 6f 0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d | ctories'...See.also.`projectile- | 
| 7740 | 69 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 70 27 20    61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | ignored-file-p'.and.`projectile- | 
| 7760 | 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72    79 2d 70 27 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 | ignored-directory-p'...Note.that | 
| 7780 | 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 65 | .files.aren't.filtered.if.`proje | 
| 77a0 | 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 6f | ctile-indexing-method'.is.set.to | 
| 77c0 | 20 60 61 6c 69 65 6e 27 2e 22 0a 20 20 3a 73 61    66 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 | .`alien'."...:safe.(lambda.(x).( | 
| 77e0 | 6e 6f 74 20 28 72 65 6d 71 20 74 20 28 6d 61 70    63 61 72 20 23 27 73 74 72 69 6e 67 70 20 78 29 | not.(remq.t.(mapcar.#'stringp.x) | 
| 7800 | 29 29 29 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 | )))...:group.'projectile...:type | 
| 7820 | 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 72 | .'(repeat.string)...:package-ver | 
| 7840 | 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69 6c    65 20 2e 20 22 32 2e 39 2e 30 22 29 29 0a 0a 28 | sion.'(projectile..."2.9.0"))..( | 
| 7860 | 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 69 67 | defcustom.projectile-globally-ig | 
| 7880 | 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 20 22 | nored-modes...'("erc-mode"....." | 
| 78a0 | 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 74 2d | help-mode"....."completion-list- | 
| 78c0 | 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 20 20 | mode"....."Buffer-menu-mode".... | 
| 78e0 | 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 65 22 | ."gnus-.*-mode"....."occur-mode" | 
| 7900 | 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 69 6f | )..."A.list.of.regular.expressio | 
| 7920 | 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 70 72 | ns.for.major.modes.ignored.by.pr | 
| 7940 | 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 67 20 | ojectile...If.a.buffer.is.using. | 
| 7960 | 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 20 77 | a.given.major.mode,.projectile.w | 
| 7980 | 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 72 6b | ill.ignore.it.for.functions.work | 
| 79a0 | 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 72 6f | ing.with.buffers."...:group.'pro | 
| 79c0 | 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) | 
| 79e0 | 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 6c 6c | )..(defcustom.projectile-globall | 
| 7a00 | 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 68 2a | y-ignored-buffers...'("*scratch* | 
| 7a20 | 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 66 20 | "....."*lsp-log*")..."A.list.of. | 
| 7a40 | 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 74 69 | buffer-names.ignored.by.projecti | 
| 7a60 | 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 62 75 | le...You.can.use.either.exact.bu | 
| 7a80 | 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 6f 6e | ffer.names.or.regular.expression | 
| 7aa0 | 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 70 72 | s..If.a.buffer.is.in.the.list.pr | 
| 7ac0 | 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 6e 63 | ojectile.will.ignore.it.for.func | 
| 7ae0 | 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 20 3a | tions.working.with.buffers."...: | 
| 7b00 | 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 | 
| 7b20 | 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 27 28 | at.string)...:package-version.'( | 
| 7b40 | 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 75 73 | projectile..."0.12.0"))..(defcus | 
| 7b60 | 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 6e 69 | tom.projectile-find-file-hook.ni | 
| 7b80 | 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 6f 70 | l..."Hooks.run.when.a.file.is.op | 
| 7ba0 | 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 65 27 | ened.with.`projectile-find-file' | 
| 7bc0 | 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. | 
| 7be0 | 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 66 69 | 'hook)..(defcustom.projectile-fi | 
| 7c00 | 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 68 65 | nd-dir-hook.nil..."Hooks.run.whe | 
| 7c20 | 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 70 72 | n.a.directory.is.opened.with.`pr | 
| 7c40 | 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 27 70 | ojectile-find-dir'."...:group.'p | 
| 7c60 | 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 63 75 | rojectile...:type.'hook)..(defcu | 
| 7c80 | 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 2d 61 | stom.projectile-switch-project-a | 
| 7ca0 | 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 22 41 | ction.'projectile-find-file..."A | 
| 7cc0 | 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 70 72 | ction.invoked.after.switching.pr | 
| 7ce0 | 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 2d 70 | ojects.with.`projectile-switch-p | 
| 7d00 | 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 65 73 | roject'...Any.function.that.does | 
| 7d20 | 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 20 20 | .not.take.arguments.will.do."... | 
| 7d40 | 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 6e 63 | :group.'projectile...:type.'func | 
| 7d60 | 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 69 6e | tion)..(defcustom.projectile-fin | 
| 7d80 | 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 20 22 | d-dir-includes-top-level.nil..." | 
| 7da0 | 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 6f 70 | If.true,.add.top-level.dir.to.op | 
| 7dc0 | 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 69 6e | tions.offered.by.`projectile-fin | 
| 7de0 | 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 20 20 | d-dir'."...:group.'projectile... | 
| 7e00 | 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 6a | :type.'boolean)..(defcustom.proj | 
| 7e20 | 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 74 72 | ectile-use-git-grep.nil..."If.tr | 
| 7e40 | 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 72 6f | ue,.use.`vc-git-grep'.in.git.pro | 
| 7e60 | 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 20 3a | jects."...:group.'projectile...: | 
| 7e80 | 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 | 
| 7ea0 | 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 20 22 | ctile-grep-finished-hook.nil..." | 
| 7ec0 | 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 70 27 | Hooks.run.when.`projectile-grep' | 
| 7ee0 | 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 6c 65 | .finishes."...:group.'projectile | 
| 7f00 | 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 69 6f | ...:type.'hook...:package-versio | 
| 7f20 | 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 | 
| 7f40 | 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 2d 66 | fcustom.projectile-test-prefix-f | 
| 7f60 | 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 78 0a | unction.'projectile-test-prefix. | 
| 7f80 | 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 20 70 | .."Function.to.find.test.files.p | 
| 7fa0 | 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 20 20 | refix.based.on.PROJECT-TYPE."... | 
| 7fc0 | 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 6e 63 | :group.'projectile...:type.'func | 
| 7fe0 | 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 65 73 | tion)..(defcustom.projectile-tes | 
| 8000 | 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 74 65 | t-suffix-function.'projectile-te | 
| 8020 | 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 74 65 | st-suffix..."Function.to.find.te | 
| 8040 | 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 43 54 | st.files.suffix.based.on.PROJECT | 
| 8060 | 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 20 3a | -TYPE."...:group.'projectile...: | 
| 8080 | 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 6f 6a | type.'function)..(defcustom.proj | 
| 80a0 | 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 6f 6e | ectile-related-files-fn-function | 
| 80c0 | 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 20 20 | .'projectile-related-files-fn... | 
| 80e0 | 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 73 20 | "Function.to.find.related.files. | 
| 8100 | 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 75 70 | based.on.PROJECT-TYPE."...:group | 
| 8120 | 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 29 0a | .'projectile...:type.'function). | 
| 8140 | 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 2d 6d | .(defcustom.projectile-dynamic-m | 
| 8160 | 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 74 68 | ode-line.t..."If.true,.update.th | 
| 8180 | 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 66 69 | e.mode-line.dynamically..Only.fi | 
| 81a0 | 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 73 2c | le.buffers.are.affected.by.this, | 
| 81c0 | 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 6e 64 | .as.the.update.happens.via.`find | 
| 81e0 | 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 74 69 | -file-hook'...See.also.`projecti | 
| 8200 | 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 6f 6a | le-mode-line-function'.and.`proj | 
| 8220 | 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 67 72 | ectile-update-mode-line'."...:gr | 
| 8240 | 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 6e | oup.'projectile...:type.'boolean | 
| 8260 | 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 65 | ...:package-version.'(projectile | 
| 8280 | 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 63 74 | ..."2.0.0"))..(defcustom.project | 
| 82a0 | 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 74 69 | ile-mode-line-function.'projecti | 
| 82c0 | 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 6e 63 | le-default-mode-line..."The.func | 
| 82e0 | 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 74 2d | tion.to.use.to.generate.project- | 
| 8300 | 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 74 20 | specific.mode-line..The.default. | 
| 8320 | 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 20 61 | function.adds.the.project.name.a | 
| 8340 | 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 61 6c | nd.type.to.the.mode-line..See.al | 
| 8360 | 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 65 27 | so.`projectile-update-mode-line' | 
| 8380 | 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. | 
| 83a0 | 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 28 70 | 'function...:package-version.'(p | 
| 83c0 | 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 74 6f | rojectile..."2.0.0"))..(defcusto | 
| 83e0 | 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 74 6f | m.projectile-default-src-directo | 
| 8400 | 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 20 6f | ry."src/"..."The.default.value.o | 
| 8420 | 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 2e 0a | f.a.project's.src-dir.property.. | 
| 8440 | 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 65 20 | .It's.used.as.a.fallback.in.the. | 
| 8460 | 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 6f 72 | case.the.property.is.not.set.for | 
| 8480 | 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 6c 65 | .a.project.type.when.`projectile | 
| 84a0 | 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 61 | -toggle-between-implementation-a | 
| 84c0 | 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 72 6f | nd-test'.is.used."...:group.'pro | 
| 84e0 | 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 | 
| 8500 | 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 69 72 | stom.projectile-default-test-dir | 
| 8520 | 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 76 61 | ectory."test/"..."The.default.va | 
| 8540 | 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 6f 70 | lue.of.a.project's.test-dir.prop | 
| 8560 | 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 20 69 | erty...It's.used.as.a.fallback.i | 
| 8580 | 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 20 73 | n.the.case.the.property.is.not.s | 
| 85a0 | 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 6f 6a | et.for.a.project.type.when.`proj | 
| 85c0 | 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 74 61 | ectile-toggle-between-implementa | 
| 85e0 | 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 6f 75 | tion-and-test'.is.used."...:grou | 
| 8600 | 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 0a 0a | p.'projectile...:type.'string).. | 
| 8620 | 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 63 74 | ..;;;.Idle.Timer.(defvar.project | 
| 8640 | 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 72 20 | ile-idle-timer.nil..."The.timer. | 
| 8660 | 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 65 2d | object.created.when.`projectile- | 
| 8680 | 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 22 29 | enable-idle-timer'.is.non-nil.") | 
| 86a0 | 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 | 
| 86c0 | 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 6f 64 | er-seconds.30..."The.idle.period | 
| 86e0 | 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 65 2d | .to.use.when.`projectile-enable- | 
| 8700 | 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 6f 75 | idle-timer'.is.non-nil."...:grou | 
| 8720 | 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 0a 0a | p.'projectile...:type.'number).. | 
| 8740 | 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 65 72 | (defcustom.projectile-idle-timer | 
| 8760 | 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 74 61 | -hook.'(projectile-regenerate-ta | 
| 8780 | 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 65 63 | gs)..."The.hook.run.when.`projec | 
| 87a0 | 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 2d 6e | tile-enable-idle-timer'.is.non-n | 
| 87c0 | 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 79 70 | il."...:group.'projectile...:typ | 
| 87e0 | 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 6d 20 | e.'(repeat.symbol))..(defcustom. | 
| 8800 | 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 69 6c | projectile-enable-idle-timer.nil | 
| 8820 | 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 72 6f | ..."Enables.idle.timer.hook.`pro | 
| 8840 | 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 0a 0a | jectile-idle-timer-functions'... | 
| 8860 | 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 69 6d | When.`projectile-enable-idle-tim | 
| 8880 | 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 65 63 | er'.is.non-nil,.the.hook.`projec | 
| 88a0 | 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 61 63 | tile-idle-timer-hook'.is.run.eac | 
| 88c0 | 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 20 60 | h.time.Emacs.has.been.idle.for.` | 
| 88e0 | 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 20 73 | projectile-idle-timer-seconds'.s | 
| 8900 | 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 22 0a | econds.and.we're.in.a.project.". | 
| 8920 | 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 61 6d | ..:group.'projectile...:set.(lam | 
| 8940 | 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 65 74 | bda.(symbol.value)..........(set | 
| 8960 | 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 70 72 | .symbol.value)..........(when.pr | 
| 8980 | 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 20 28 | ojectile-idle-timer............( | 
| 89a0 | 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 69 6d | cancel-timer.projectile-idle-tim | 
| 89c0 | 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 2d 69 | er))..........(setq.projectile-i | 
| 89e0 | 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 70 72 | dle-timer.nil)..........(when.pr | 
| 8a00 | 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 20 20 | ojectile-enable-idle-timer...... | 
| 8a20 | 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 6d 65 | ......(setq.projectile-idle-time | 
| 8a40 | 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 20 20 | r.(run-with-idle-timer.......... | 
| 8a60 | 20 20 20 20 20 20 20 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 | ...............................p | 
| 8a80 | 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 0a 20 | rojectile-idle-timer-seconds.t.. | 
| 8aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 8ac0 | 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 20 20 | .......(lambda.()............... | 
| 8ae0 | 20 20 20 20 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 68 65 | ............................(whe | 
| 8b00 | 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 20 20 | n.(projectile-project-p)........ | 
| 8b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 8b40 | 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 6c 65 | .....(run-hooks.'projectile-idle | 
| 8b60 | 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 6f 6c | -timer-hook)))))))...:type.'bool | 
| 8b80 | 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 63 74 | ean)..(defvar.projectile-project | 
| 8ba0 | 73 2d 63 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 | s-cache.(make-hash-table.:test.' | 
| 8bc0 | 65 71 75 61 6c 29 0a 20 20 22 41 20 68 61 73 68    6d 61 70 20 75 73 65 64 20 74 6f 20 63 61 63 68 | equal)..."A.hashmap.used.to.cach | 
| 8be0 | 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 70 65 65 64 20 75 70 | e.project.file.names.to.speed.up | 
| 8c00 | 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 64 65 66 76 61 72 20 | .related.operations.")..(defvar. | 
| 8c20 | 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 20 28 | projectile-projects-cache-time.( | 
| 8c40 | 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 20 20 | make-hash-table.:test.'equal)... | 
| 8c60 | 22 41 20 68 61 73 68 6d 61 70 20 75 73 65 64 20    74 6f 20 72 65 63 6f 72 64 20 77 68 65 6e 20 77 | "A.hashmap.used.to.record.when.w | 
| 8c80 | 65 20 70 6f 70 75 6c 61 74 65 64 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 | e.populated.`projectile-projects | 
| 8ca0 | 2d 63 61 63 68 65 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 70 | -cache'.")..(defvar.projectile-p | 
| 8cc0 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 63 61 63 68    65 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 | roject-root-cache.(make-hash-tab | 
| 8ce0 | 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29    0a 20 20 22 43 61 63 68 65 64 20 76 61 6c 75 65 | le.:test.'equal)..."Cached.value | 
| 8d00 | 20 6f 66 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 | .of.function.`projectile-project | 
| 8d20 | 2d 72 6f 6f 74 60 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 | -root`.")..(defvar.projectile-pr | 
| 8d40 | 6f 6a 65 63 74 2d 74 79 70 65 2d 63 61 63 68 65    20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c | oject-type-cache.(make-hash-tabl | 
| 8d60 | 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a    20 20 22 41 20 68 61 73 68 6d 61 70 20 75 73 65 | e.:test.'equal)..."A.hashmap.use | 
| 8d80 | 64 20 74 6f 20 63 61 63 68 65 20 70 72 6f 6a 65    63 74 20 74 79 70 65 20 74 6f 20 73 70 65 65 64 | d.to.cache.project.type.to.speed | 
| 8da0 | 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 64 65 66 76 | .up.related.operations.")..(defv | 
| 8dc0 | 61 72 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 20 6e 69 6c | ar.projectile-known-projects.nil | 
| 8de0 | 0a 20 20 22 4c 69 73 74 20 6f 66 20 6c 6f 63 61    74 69 6f 6e 73 20 77 68 65 72 65 20 77 65 20 68 | ..."List.of.locations.where.we.h | 
| 8e00 | 61 76 65 20 70 72 65 76 69 6f 75 73 6c 79 20 73    65 65 6e 20 70 72 6f 6a 65 63 74 73 2e 0a 54 68 | ave.previously.seen.projects..Th | 
| 8e20 | 65 20 6c 69 73 74 20 6f 66 20 70 72 6f 6a 65 63    74 73 20 69 73 20 6f 72 64 65 72 65 64 20 62 79 | e.list.of.projects.is.ordered.by | 
| 8e40 | 20 74 68 65 20 74 69 6d 65 20 74 68 65 79 20 68    61 76 65 20 62 65 65 6e 20 61 63 63 65 73 73 65 | .the.time.they.have.been.accesse | 
| 8e60 | 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d | d...See.also.`projectile-remove- | 
| 8e80 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 27 2c 0a    60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6c 65 61 | known-project',.`projectile-clea | 
| 8ea0 | 6e 75 70 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 73 27 20 61 6e 64 20 60 70 72 6f 6a 65 63 74 | nup-known-projects'.and.`project | 
| 8ec0 | 69 6c 65 2d 63 6c 65 61 72 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 27 2e 22 29 0a 0a 28 64 | ile-clear-known-projects'.")..(d | 
| 8ee0 | 65 66 76 61 72 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 | efvar.projectile-known-projects- | 
| 8f00 | 6f 6e 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 4c    69 73 74 20 6f 66 20 6b 6e 6f 77 6e 20 70 72 6f | on-file.nil..."List.of.known.pro | 
| 8f20 | 6a 65 63 74 73 20 72 65 66 65 72 65 6e 63 65 20    70 6f 69 6e 74 2e 0a 0a 43 6f 6e 74 61 69 6e 73 | jects.reference.point...Contains | 
| 8f40 | 20 61 20 63 6f 70 79 20 6f 66 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f | .a.copy.of.`projectile-known-pro | 
| 8f60 | 6a 65 63 74 73 27 20 77 68 65 6e 20 69 74 20 77    61 73 20 6c 61 73 74 0a 73 79 6e 63 68 72 6f 6e | jects'.when.it.was.last.synchron | 
| 8f80 | 69 7a 65 64 20 77 69 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 | ized.with.`projectile-known-proj | 
| 8fa0 | 65 63 74 73 2d 66 69 6c 65 27 2e 22 29 0a 0a 28    64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 | ects-file'.")..(defcustom.projec | 
| 8fc0 | 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65    63 74 73 2d 66 69 6c 65 0a 20 20 28 65 78 70 61 | tile-known-projects-file...(expa | 
| 8fe0 | 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 70 72    6f 6a 65 63 74 69 6c 65 2d 62 6f 6f 6b 6d 61 72 | nd-file-name."projectile-bookmar | 
| 9000 | 6b 73 2e 65 6c 64 22 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 | ks.eld".....................user | 
| 9020 | 2d 65 6d 61 63 73 2d 64 69 72 65 63 74 6f 72 79    29 0a 20 20 22 4e 61 6d 65 20 61 6e 64 20 6c 6f | -emacs-directory)..."Name.and.lo | 
| 9040 | 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 72    6f 6a 65 63 74 69 6c 65 27 73 20 6b 6e 6f 77 6e | cation.of.the.Projectile's.known | 
| 9060 | 20 70 72 6f 6a 65 63 74 73 20 66 69 6c 65 2e 22    0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 | .projects.file."...:group.'proje | 
| 9080 | 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 73 74 | ctile...:type.'string)..(defcust | 
| 90a0 | 6f 6d 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 20 6e | om.projectile-ignored-projects.n | 
| 90c0 | 69 6c 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20    70 72 6f 6a 65 63 74 73 20 6e 6f 74 20 74 6f 20 | il..."A.list.of.projects.not.to. | 
| 90e0 | 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 72 | be.added.to.`projectile-known-pr | 
| 9100 | 6f 6a 65 63 74 73 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 | ojects'."...:group.'projectile.. | 
| 9120 | 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20    3a 74 61 67 20 22 50 72 6f 6a 65 63 74 20 6c 69 | .:type.'(repeat.:tag."Project.li | 
| 9140 | 73 74 22 20 64 69 72 65 63 74 6f 72 79 29 0a 20    20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f | st".directory)...:package-versio | 
| 9160 | 6e 20 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e    20 22 30 2e 31 31 2e 30 22 29 29 0a 0a 28 64 65 | n.'(projectile..."0.11.0"))..(de | 
| 9180 | 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 64 2d 70 72 6f 6a 65 | fcustom.projectile-ignored-proje | 
| 91a0 | 63 74 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 0a    20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 64 | ct-function.nil..."Function.to.d | 
| 91c0 | 65 63 69 64 65 20 69 66 20 61 20 70 72 6f 6a 65    63 74 20 69 73 20 61 64 64 65 64 20 74 6f 20 60 | ecide.if.a.project.is.added.to.` | 
| 91e0 | 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 0a 0a 43 61 6e | projectile-known-projects'...Can | 
| 9200 | 20 62 65 20 65 69 74 68 65 72 20 6e 69 6c 2c 20    6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 | .be.either.nil,.or.a.function.th | 
| 9220 | 61 74 20 74 61 6b 65 73 20 74 68 65 20 74 72 75    65 6e 61 6d 65 20 6f 66 20 74 68 65 0a 70 72 6f | at.takes.the.truename.of.the.pro | 
| 9240 | 6a 65 63 74 20 72 6f 6f 74 20 61 73 20 61 72 67    75 6d 65 6e 74 20 61 6e 64 20 72 65 74 75 72 6e | ject.root.as.argument.and.return | 
| 9260 | 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65    20 70 72 6f 6a 65 63 74 20 69 73 20 74 6f 0a 62 | s.non-nil.if.the.project.is.to.b | 
| 9280 | 65 20 69 67 6e 6f 72 65 64 20 6f 72 20 6e 69 6c    20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 54 68 69 | e.ignored.or.nil.otherwise...Thi | 
| 92a0 | 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e    6c 79 20 63 61 6c 6c 65 64 20 69 66 20 74 68 65 | s.function.is.only.called.if.the | 
| 92c0 | 20 70 72 6f 6a 65 63 74 20 69 73 20 6e 6f 74 20    6c 69 73 74 65 64 20 69 6e 0a 74 68 65 20 76 61 | .project.is.not.listed.in.the.va | 
| 92e0 | 72 69 61 62 6c 65 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 69 67 6e 6f 72 65 64 2d 70 72 6f 6a 65 | riable.`projectile-ignored-proje | 
| 9300 | 63 74 73 27 2e 0a 0a 41 20 73 75 69 74 61 62 6c    65 20 63 61 6e 64 69 64 61 74 65 20 77 6f 75 6c | cts'...A.suitable.candidate.woul | 
| 9320 | 64 20 62 65 20 60 66 69 6c 65 2d 72 65 6d 6f 74    65 2d 70 27 20 74 6f 20 69 67 6e 6f 72 65 20 72 | d.be.`file-remote-p'.to.ignore.r | 
| 9340 | 65 6d 6f 74 65 0a 70 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 | emote.projects."...:group.'proje | 
| 9360 | 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 28    63 68 6f 69 63 65 0a 20 20 20 20 20 20 20 20 20 | ctile...:type.'(choice.......... | 
| 9380 | 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4e 6f    74 68 69 6e 67 22 20 6e 69 6c 29 0a 20 20 20 20 | .(const.:tag."Nothing".nil)..... | 
| 93a0 | 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61    67 20 22 52 65 6d 6f 74 65 20 66 69 6c 65 73 22 | ......(const.:tag."Remote.files" | 
| 93c0 | 20 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 29 0a    20 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 | .file-remote-p)...........functi | 
| 93e0 | 6f 6e 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 | on)...:package-version.'(project | 
| 9400 | 69 6c 65 20 2e 20 22 30 2e 31 33 2e 30 22 29 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f | ile..."0.13.0"))..(defcustom.pro | 
| 9420 | 6a 65 63 74 69 6c 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 | jectile-track-known-projects-aut | 
| 9440 | 6f 6d 61 74 69 63 61 6c 6c 79 20 74 0a 20 20 22    43 6f 6e 74 72 6f 6c 73 20 77 68 65 74 68 65 72 | omatically.t..."Controls.whether | 
| 9460 | 20 50 72 6f 6a 65 63 74 69 6c 65 20 77 69 6c 6c    20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 | .Projectile.will.automatically.r | 
| 9480 | 65 67 69 73 74 65 72 20 6b 6e 6f 77 6e 20 70 72    6f 6a 65 63 74 73 2e 0a 0a 57 68 65 6e 20 73 65 | egister.known.projects...When.se | 
| 94a0 | 74 20 74 6f 20 6e 69 6c 20 79 6f 75 27 6c 6c 20    68 61 76 65 20 61 6c 77 61 79 73 20 61 64 64 20 | t.to.nil.you'll.have.always.add. | 
| 94c0 | 70 72 6f 6a 65 63 74 73 20 65 78 70 6c 69 63 69    74 6c 79 20 77 69 74 68 0a 60 70 72 6f 6a 65 63 | projects.explicitly.with.`projec | 
| 94e0 | 74 69 6c 65 2d 61 64 64 2d 6b 6e 6f 77 6e 2d 70    72 6f 6a 65 63 74 27 2e 22 0a 20 20 3a 67 72 6f | tile-add-known-project'."...:gro | 
| 9500 | 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 6e 0a | up.'projectile...:type.'boolean. | 
| 9520 | 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 65 20 | ..:package-version.'(projectile. | 
| 9540 | 2e 20 22 31 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 63 74 69 | .."1.0.0"))..(defcustom.projecti | 
| 9560 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 73 65 61 72 63    68 2d 70 61 74 68 20 6e 69 6c 0a 20 20 22 4c 69 | le-project-search-path.nil..."Li | 
| 9580 | 73 74 20 6f 66 20 66 6f 6c 64 65 72 73 20 77 68    65 72 65 20 70 72 6f 6a 65 63 74 69 6c 65 20 69 | st.of.folders.where.projectile.i | 
| 95a0 | 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20    67 6f 69 6e 67 20 74 6f 20 6c 6f 6f 6b 20 66 6f | s.automatically.going.to.look.fo | 
| 95c0 | 72 20 70 72 6f 6a 65 63 74 73 2e 0a 59 6f 75 20    63 61 6e 20 74 68 69 6e 6b 20 6f 66 20 73 6f 6d | r.projects..You.can.think.of.som | 
| 95e0 | 65 74 68 69 6e 67 20 6c 69 6b 65 20 24 50 41 54    48 2c 20 62 75 74 20 66 6f 72 20 70 72 6f 6a 65 | ething.like.$PATH,.but.for.proje | 
| 9600 | 63 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 65    78 65 63 75 74 61 62 6c 65 73 2e 0a 45 78 61 6d | cts.instead.of.executables..Exam | 
| 9620 | 70 6c 65 73 20 6f 66 20 73 75 63 68 20 70 61 74    68 73 20 6d 69 67 68 74 20 62 65 20 7e 2f 70 72 | ples.of.such.paths.might.be.~/pr | 
| 9640 | 6f 6a 65 63 74 73 2c 20 7e 2f 77 6f 72 6b 2c 20    28 7e 2f 67 69 74 68 75 62 20 2e 20 31 29 20 65 | ojects,.~/work,.(~/github...1).e | 
| 9660 | 74 63 2e 0a 0a 46 6f 72 20 65 6c 65 6d 65 6e 74    73 20 6f 66 20 66 6f 72 6d 20 28 44 49 52 45 43 | tc...For.elements.of.form.(DIREC | 
| 9680 | 54 4f 52 59 20 2e 20 44 45 50 54 48 29 2c 20 44    49 52 45 43 54 4f 52 59 20 68 61 73 20 74 6f 20 | TORY...DEPTH),.DIRECTORY.has.to. | 
| 96a0 | 62 65 20 61 0a 64 69 72 65 63 74 6f 72 79 20 61    6e 64 20 44 45 50 54 48 20 61 6e 20 69 6e 74 65 | be.a.directory.and.DEPTH.an.inte | 
| 96c0 | 67 65 72 20 74 68 61 74 20 73 70 65 63 69 66 69    65 73 20 74 68 65 20 64 65 70 74 68 20 61 74 20 | ger.that.specifies.the.depth.at. | 
| 96e0 | 77 68 69 63 68 20 74 6f 0a 6c 6f 6f 6b 20 66 6f    72 20 70 72 6f 6a 65 63 74 73 2e 20 20 41 20 44 | which.to.look.for.projects...A.D | 
| 9700 | 45 50 54 48 20 6f 66 20 30 20 6d 65 61 6e 73 20    63 68 65 63 6b 20 44 49 52 45 43 54 4f 52 59 2e | EPTH.of.0.means.check.DIRECTORY. | 
| 9720 | 20 20 41 20 64 65 70 74 68 20 6f 66 20 31 0a 6d    65 61 6e 73 20 63 68 65 63 6b 20 61 6c 6c 20 74 | ..A.depth.of.1.means.check.all.t | 
| 9740 | 68 65 20 73 75 62 64 69 72 65 63 74 6f 72 69 65    73 20 6f 66 20 44 49 52 45 43 54 4f 52 59 2e 20 | he.subdirectories.of.DIRECTORY.. | 
| 9760 | 20 45 74 63 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 | .Etc."...:group.'projectile...:t | 
| 9780 | 79 70 65 20 27 28 72 65 70 65 61 74 20 28 63 68    6f 69 63 65 20 64 69 72 65 63 74 6f 72 79 20 28 | ype.'(repeat.(choice.directory.( | 
| 97a0 | 63 6f 6e 73 20 64 69 72 65 63 74 6f 72 79 20 28    69 6e 74 65 67 65 72 20 3a 74 61 67 20 22 44 65 | cons.directory.(integer.:tag."De | 
| 97c0 | 70 74 68 22 29 29 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 | pth"))))...:package-version.'(pr | 
| 97e0 | 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 74 6f 6d | ojectile..."1.0.0"))..(defcustom | 
| 9800 | 20 70 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 28 63 6f 6e | .projectile-fd-executable...(con | 
| 9820 | 64 0a 20 20 20 28 28 65 78 65 63 75 74 61 62 6c    65 2d 66 69 6e 64 20 22 66 64 66 69 6e 64 22 29 | d....((executable-find."fdfind") | 
| 9840 | 20 22 66 64 66 69 6e 64 22 29 0a 20 20 20 28 28    65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 | ."fdfind")....((executable-find. | 
| 9860 | 22 66 64 22 29 20 22 66 64 22 29 29 0a 20 20 22    50 61 74 68 20 6f 72 20 6e 61 6d 65 20 6f 66 20 | "fd")."fd"))..."Path.or.name.of. | 
| 9880 | 66 64 20 65 78 65 63 75 74 61 62 6c 65 20 75 73    65 64 20 62 79 20 50 72 6f 6a 65 63 74 69 6c 65 | fd.executable.used.by.Projectile | 
| 98a0 | 20 69 66 20 65 6e 61 62 6c 65 64 2e 0a 4e 69 6c    20 6d 65 61 6e 73 20 66 64 20 69 73 20 6e 6f 74 | .if.enabled..Nil.means.fd.is.not | 
| 98c0 | 20 69 6e 73 74 61 6c 6c 65 64 20 6f 72 20 73 68    6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 | .installed.or.should.not.be.used | 
| 98e0 | 2e 22 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 76 65 | ."...:type.'string...:package-ve | 
| 9900 | 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69    6c 65 20 2e 20 22 32 2e 38 2e 30 22 29 29 0a 0a | rsion.'(projectile..."2.8.0")).. | 
| 9920 | 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 75 73 65 2d 66 64 | (defcustom.projectile-git-use-fd | 
| 9940 | 20 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 66 64 2d 65 78 65 63 75 74 61 62 6c 65 20 | .(when.projectile-fd-executable. | 
| 9960 | 74 29 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 6d 65    61 6e 73 20 75 73 65 20 66 64 20 74 6f 20 69 6d | t)..."Non-nil.means.use.fd.to.im | 
| 9980 | 70 6c 65 6d 65 6e 74 20 67 69 74 20 6c 73 2d 66    69 6c 65 73 2e 0a 54 68 69 73 20 6d 61 79 20 63 | plement.git.ls-files..This.may.c | 
| 99a0 | 68 61 6e 67 65 20 50 72 6f 6a 65 63 74 69 6c 65    27 73 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 | hange.Projectile's.performance.i | 
| 99c0 | 6e 20 6c 61 72 67 65 20 47 69 74 20 72 65 70 6f    73 69 74 6f 72 69 65 73 0a 64 65 70 65 6e 64 69 | n.large.Git.repositories.dependi | 
| 99e0 | 6e 67 20 6f 6e 20 79 6f 75 72 20 73 79 73 74 65    6d 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20 61 | ng.on.your.system,.but.it.will.a | 
| 9a00 | 6c 73 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20    74 68 65 20 47 69 74 20 62 65 68 61 76 69 6f 72 | lso.work.around.the.Git.behavior | 
| 9a20 | 0a 74 68 61 74 20 63 61 75 73 65 73 20 64 65 6c    65 74 65 64 20 66 69 6c 65 73 20 74 6f 20 73 74 | .that.causes.deleted.files.to.st | 
| 9a40 | 69 6c 6c 20 62 65 20 73 68 6f 77 6e 20 69 6e 20    50 72 6f 6a 65 63 74 69 6c 65 20 6c 69 73 74 69 | ill.be.shown.in.Projectile.listi | 
| 9a60 | 6e 67 73 20 75 6e 74 69 6c 0a 74 68 65 69 72 20    64 65 6c 65 74 69 6f 6e 73 20 61 72 65 20 73 74 | ngs.until.their.deletions.are.st | 
| 9a80 | 61 67 65 64 2e 22 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 | aged."...:type.'boolean...:packa | 
| 9aa0 | 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 38 2e 30 | ge-version.'(projectile..."2.8.0 | 
| 9ac0 | 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 67 69 74 2d 63 | "))..(defcustom.projectile-git-c | 
| 9ae0 | 6f 6d 6d 61 6e 64 20 22 67 69 74 20 6c 73 2d 66    69 6c 65 73 20 2d 7a 63 6f 20 2d 2d 65 78 63 6c | ommand."git.ls-files.-zco.--excl | 
| 9b00 | 75 64 65 2d 73 74 61 6e 64 61 72 64 22 0a 20 20    22 43 6f 6d 6d 61 6e 64 20 75 73 65 64 20 62 79 | ude-standard"..."Command.used.by | 
| 9b20 | 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 69 6e 20 | .projectile.to.get.the.files.in. | 
| 9b40 | 61 20 67 69 74 20 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 | a.git.project."...:group.'projec | 
| 9b60 | 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 73 74 6f | tile...:type.'string)..(defcusto | 
| 9b80 | 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 69 74    2d 66 64 2d 61 72 67 73 20 22 2d 48 20 2d 30 20 | m.projectile-git-fd-args."-H.-0. | 
| 9ba0 | 2d 45 20 2e 67 69 74 20 2d 74 66 20 2d 2d 73 74    72 69 70 2d 63 77 64 2d 70 72 65 66 69 78 20 2d | -E..git.-tf.--strip-cwd-prefix.- | 
| 9bc0 | 63 20 6e 65 76 65 72 22 0a 20 20 22 41 72 67 75    6d 65 6e 74 73 20 74 6f 20 66 64 20 75 73 65 64 | c.never"..."Arguments.to.fd.used | 
| 9be0 | 20 74 6f 20 72 65 2d 69 6d 70 6c 65 6d 65 6e 74    20 60 67 69 74 20 6c 73 2d 66 69 6c 65 73 27 2e | .to.re-implement.`git.ls-files'. | 
| 9c00 | 0a 54 68 69 73 20 69 73 20 75 73 65 64 20 77 69    74 68 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | .This.is.used.with.`projectile-f | 
| 9c20 | 64 2d 65 78 65 63 75 74 61 62 6c 65 27 20 77 68    65 6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 67 | d-executable'.when.`projectile-g | 
| 9c40 | 69 74 2d 75 73 65 2d 66 64 27 0a 69 73 20 6e 6f    6e 2d 6e 69 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 | it-use-fd'.is.non-nil."...:group | 
| 9c60 | 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 0a 20 20 3a | .'projectile...:type.'string...: | 
| 9c80 | 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 20 22 | package-version.'(projectile..." | 
| 9ca0 | 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 65 2d | 2.8.0"))..(defcustom.projectile- | 
| 9cc0 | 67 69 74 2d 73 75 62 6d 6f 64 75 6c 65 2d 63 6f    6d 6d 61 6e 64 20 22 67 69 74 20 73 75 62 6d 6f | git-submodule-command."git.submo | 
| 9ce0 | 64 75 6c 65 20 2d 2d 71 75 69 65 74 20 66 6f 72    65 61 63 68 20 27 65 63 68 6f 20 24 64 69 73 70 | dule.--quiet.foreach.'echo.$disp | 
| 9d00 | 6c 61 79 70 61 74 68 27 20 7c 20 74 72 20 27 5c    5c 6e 27 20 27 5c 5c 30 27 22 0a 20 20 22 43 6f | laypath'.|.tr.'\\n'.'\\0'"..."Co | 
| 9d20 | 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 6c 69 73 74 | mmand.used.by.projectile.to.list | 
| 9d40 | 20 73 75 62 6d 6f 64 75 6c 65 73 20 6f 66 20 61    20 67 69 76 65 6e 20 67 69 74 20 72 65 70 6f 73 | .submodules.of.a.given.git.repos | 
| 9d60 | 69 74 6f 72 79 2e 0a 53 65 74 20 74 6f 20 6e 69    6c 20 74 6f 20 64 69 73 61 62 6c 65 20 6c 69 73 | itory..Set.to.nil.to.disable.lis | 
| 9d80 | 74 69 6e 67 20 73 75 62 6d 6f 64 75 6c 65 73 20    63 6f 6e 74 65 6e 74 73 2e 22 0a 20 20 3a 67 72 | ting.submodules.contents."...:gr | 
| 9da0 | 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) | 
| 9dc0 | 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 69 67 6e 6f | ..(defcustom.projectile-git-igno | 
| 9de0 | 72 65 64 2d 63 6f 6d 6d 61 6e 64 20 22 67 69 74    20 6c 73 2d 66 69 6c 65 73 20 2d 7a 63 6f 69 20 | red-command."git.ls-files.-zcoi. | 
| 9e00 | 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 6d 61 6e 64 20 75 | --exclude-standard"..."Command.u | 
| 9e20 | 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 69 67 6e | sed.by.projectile.to.get.the.ign | 
| 9e40 | 6f 72 65 64 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 | ored.files.in.a.git.project."... | 
| 9e60 | 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 72 69 | :group.'projectile...:type.'stri | 
| 9e80 | 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 6f 6a 65 63 74 69 | ng...:package-version.'(projecti | 
| 9ea0 | 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 | 
| 9ec0 | 65 63 74 69 6c 65 2d 68 67 2d 63 6f 6d 6d 61 6e    64 20 22 68 67 20 6c 6f 63 61 74 65 20 2d 66 20 | ectile-hg-command."hg.locate.-f. | 
| 9ee0 | 2d 30 20 2d 49 20 2e 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 | -0.-I.."..."Command.used.by.proj | 
| 9f00 | 65 63 74 69 6c 65 20 74 6f 20 67 65 74 20 74 68    65 20 66 69 6c 65 73 20 69 6e 20 61 20 68 67 20 | ectile.to.get.the.files.in.a.hg. | 
| 9f20 | 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.. | 
| 9f40 | 20 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 | .:type.'string)..(defcustom.proj | 
| 9f60 | 65 63 74 69 6c 65 2d 6a 6a 2d 63 6f 6d 6d 61 6e    64 20 22 6a 6a 20 66 69 6c 65 20 6c 69 73 74 20 | ectile-jj-command."jj.file.list. | 
| 9f80 | 2d 2d 6e 6f 2d 70 61 67 65 72 20 2e 20 7c 20 74    72 20 27 5c 5c 6e 27 20 27 5c 5c 30 27 22 0a 20 | --no-pager...|.tr.'\\n'.'\\0'".. | 
| 9fa0 | 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 20 | ."Command.used.by.projectile.to. | 
| 9fc0 | 67 65 74 20 74 68 65 20 66 69 6c 65 73 20 69 6e    20 61 20 4a 75 6a 75 74 73 75 20 70 72 6f 6a 65 | get.the.files.in.a.Jujutsu.proje | 
| 9fe0 | 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 74 79 70 | ct."...:group.'projectile...:typ | 
| a000 | 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 6e 20 27 28 70 | e.'string...:package-version.'(p | 
| a020 | 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22 32 2e 39    2e 30 22 29 29 0a 0a 28 64 65 66 63 75 73 74 6f | rojectile..."2.9.0"))..(defcusto | 
| a040 | 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 61 70    6c 69 6e 67 2d 63 6f 6d 6d 61 6e 64 20 22 73 6c | m.projectile-sapling-command."sl | 
| a060 | 20 6c 6f 63 61 74 65 20 2d 30 20 2d 49 20 2e 22    0a 20 20 22 43 6f 6d 6d 61 6e 64 20 75 73 65 64 | .locate.-0.-I.."..."Command.used | 
| a080 | 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. | 
| a0a0 | 69 6e 20 61 20 53 61 70 6c 69 6e 67 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | in.a.Sapling.project."...:group. | 
| a0c0 | 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 0a 20 20 3a 70 | 'projectile...:type.'string...:p | 
| a0e0 | 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 20 22 32 | ackage-version.'(projectile..."2 | 
| a100 | 2e 39 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 66 | .9.0"))..(defcustom.projectile-f | 
| a120 | 6f 73 73 69 6c 2d 63 6f 6d 6d 61 6e 64 20 28 63    6f 6e 63 61 74 20 22 66 6f 73 73 69 6c 20 6c 73 | ossil-command.(concat."fossil.ls | 
| a140 | 20 7c 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 | .|."............................ | 
| a160 | 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 69 6e 67 2d | ..................(when.(string- | 
| a180 | 65 71 75 61 6c 20 73 79 73 74 65 6d 2d 74 79 70    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | equal.system-type............... | 
| a1a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| a1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 22 77 69 6e 64 6f 77 73 2d 6e 74 22 29 | ..................."windows-nt") | 
| a1e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| a200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    22 64 6f 73 32 75 6e 69 78 20 7c 20 22 29 0a 20 | ................"dos2unix.|.").. | 
| a220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| a240 | 20 20 20 20 20 20 20 20 20 20 20 20 22 74 72 20    27 5c 5c 6e 27 20 27 5c 5c 30 27 22 29 0a 20 20 | ............"tr.'\\n'.'\\0'")... | 
| a260 | 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 20 67 | "Command.used.by.projectile.to.g | 
| a280 | 65 74 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20    61 20 66 6f 73 73 69 6c 20 70 72 6f 6a 65 63 74 | et.the.files.in.a.fossil.project | 
| a2a0 | 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. | 
| a2c0 | 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 65 2d | 'string)..(defcustom.projectile- | 
| a2e0 | 62 7a 72 2d 63 6f 6d 6d 61 6e 64 20 22 62 7a 72    20 6c 73 20 2d 52 20 2d 2d 76 65 72 73 69 6f 6e | bzr-command."bzr.ls.-R.--version | 
| a300 | 65 64 20 2d 30 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 | ed.-0"..."Command.used.by.projec | 
| a320 | 74 69 6c 65 20 74 6f 20 67 65 74 20 74 68 65 20    66 69 6c 65 73 20 69 6e 20 61 20 62 61 7a 61 61 | tile.to.get.the.files.in.a.bazaa | 
| a340 | 72 20 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 | r.project."...:group.'projectile | 
| a360 | 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 73 74 6f 6d 20 70 72 | ...:type.'string)..(defcustom.pr | 
| a380 | 6f 6a 65 63 74 69 6c 65 2d 64 61 72 63 73 2d 63    6f 6d 6d 61 6e 64 20 22 64 61 72 63 73 20 73 68 | ojectile-darcs-command."darcs.sh | 
| a3a0 | 6f 77 20 66 69 6c 65 73 20 2d 30 20 2e 20 22 0a    20 20 22 43 6f 6d 6d 61 6e 64 20 75 73 65 64 20 | ow.files.-0..."..."Command.used. | 
| a3c0 | 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 69 | by.projectile.to.get.the.files.i | 
| a3e0 | 6e 20 61 20 64 61 72 63 73 20 70 72 6f 6a 65 63    74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 | n.a.darcs.project."...:group.'pr | 
| a400 | 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 63 | ojectile...:type.'string)..(defc | 
| a420 | 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65    2d 70 69 6a 75 6c 2d 63 6f 6d 6d 61 6e 64 20 22 | ustom.projectile-pijul-command." | 
| a440 | 70 69 6a 75 6c 20 6c 69 73 74 20 7c 20 74 72 20    27 5c 5c 6e 27 20 27 5c 5c 30 27 22 0a 20 20 20 | pijul.list.|.tr.'\\n'.'\\0'".... | 
| a460 | 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 20 67 | "Command.used.by.projectile.to.g | 
| a480 | 65 74 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20    61 20 70 69 6a 75 6c 20 70 72 6f 6a 65 63 74 2e | et.the.files.in.a.pijul.project. | 
| a4a0 | 22 0a 20 20 20 3a 67 72 6f 75 70 20 27 70 72 6f    6a 65 63 74 69 6c 65 0a 20 20 20 3a 74 79 70 65 | "....:group.'projectile....:type | 
| a4c0 | 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 65 | .'string)..(defcustom.projectile | 
| a4e0 | 2d 73 76 6e 2d 63 6f 6d 6d 61 6e 64 20 22 73 76    6e 20 6c 69 73 74 20 2d 52 20 2e 20 7c 20 67 72 | -svn-command."svn.list.-R...|.gr | 
| a500 | 65 70 20 2d 76 20 27 24 2f 27 20 7c 20 74 72 20    27 5c 5c 6e 27 20 27 5c 5c 30 27 22 0a 20 20 22 | ep.-v.'$/'.|.tr.'\\n'.'\\0'"..." | 
| a520 | 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 20 67 65 | Command.used.by.projectile.to.ge | 
| a540 | 74 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20 61    20 73 76 6e 20 70 72 6f 6a 65 63 74 2e 22 0a 20 | t.the.files.in.a.svn.project.".. | 
| a560 | 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 72 | .:group.'projectile...:type.'str | 
| a580 | 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 67 65 6e 65 | ing)..(defcustom.projectile-gene | 
| a5a0 | 72 69 63 2d 63 6f 6d 6d 61 6e 64 0a 20 20 28 63    6f 6e 64 0a 20 20 20 3b 3b 20 77 65 20 70 72 65 | ric-command...(cond....;;.we.pre | 
| a5c0 | 66 65 72 20 66 64 20 6f 76 65 72 20 66 69 6e 64    0a 20 20 20 3b 3b 20 6e 6f 74 65 20 74 68 61 74 | fer.fd.over.find....;;.note.that | 
| a5e0 | 20 2d 2d 73 74 72 69 70 2d 63 77 64 2d 70 72 65    66 69 78 20 69 73 20 6f 6e 6c 79 20 61 76 61 69 | .--strip-cwd-prefix.is.only.avai | 
| a600 | 6c 61 62 6c 65 20 69 6e 20 76 65 72 73 69 6f 6e    20 38 2e 33 2e 30 2b 0a 20 20 20 28 70 72 6f 6a | lable.in.version.8.3.0+....(proj | 
| a620 | 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 28 66 6f 72 6d 61 74 | ectile-fd-executable.....(format | 
| a640 | 20 22 25 73 20 2e 20 2d 30 20 2d 2d 74 79 70 65    20 66 20 2d 2d 63 6f 6c 6f 72 3d 6e 65 76 65 72 | ."%s...-0.--type.f.--color=never | 
| a660 | 20 2d 2d 73 74 72 69 70 2d 63 77 64 2d 70 72 65    66 69 78 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d | .--strip-cwd-prefix".projectile- | 
| a680 | 66 64 2d 65 78 65 63 75 74 61 62 6c 65 29 29 0a    20 20 20 3b 3b 20 77 69 74 68 20 66 69 6e 64 20 | fd-executable))....;;.with.find. | 
| a6a0 | 77 65 20 68 61 76 65 20 74 6f 20 62 65 20 63 61    72 65 66 75 6c 20 74 6f 20 73 74 72 69 70 20 74 | we.have.to.be.careful.to.strip.t | 
| a6c0 | 68 65 20 2e 2f 20 66 72 6f 6d 20 74 68 65 20 70    61 74 68 73 0a 20 20 20 3b 3b 20 73 65 65 20 68 | he../.from.the.paths....;;.see.h | 
| a6e0 | 74 74 70 73 3a 2f 2f 73 74 61 63 6b 6f 76 65 72    66 6c 6f 77 2e 63 6f 6d 2f 71 75 65 73 74 69 6f | ttps://stackoverflow.com/questio | 
| a700 | 6e 73 2f 32 35 39 36 34 36 32 2f 68 6f 77 2d 74    6f 2d 73 74 72 69 70 2d 6c 65 61 64 69 6e 67 2d | ns/2596462/how-to-strip-leading- | 
| a720 | 69 6e 2d 75 6e 69 78 2d 66 69 6e 64 0a 20 20 20    28 74 20 22 66 69 6e 64 20 2e 20 2d 74 79 70 65 | in-unix-find....(t."find...-type | 
| a740 | 20 66 20 7c 20 63 75 74 20 2d 63 33 2d 20 7c 20    74 72 20 27 5c 5c 6e 27 20 27 5c 5c 30 27 22 29 | .f.|.cut.-c3-.|.tr.'\\n'.'\\0'") | 
| a760 | 29 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 65 20 | )..."Command.used.by.projectile. | 
| a780 | 74 6f 20 67 65 74 20 74 68 65 20 66 69 6c 65 73    20 69 6e 20 61 20 67 65 6e 65 72 69 63 20 70 72 | to.get.the.files.in.a.generic.pr | 
| a7a0 | 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...: | 
| a7c0 | 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 | 
| a7e0 | 74 69 6c 65 2d 76 63 73 2d 64 69 72 74 79 2d 73    74 61 74 65 20 27 28 22 65 64 69 74 65 64 22 20 | tile-vcs-dirty-state.'("edited". | 
| a800 | 22 75 6e 72 65 67 69 73 74 65 72 65 64 22 20 22    6e 65 65 64 73 2d 75 70 64 61 74 65 22 20 22 6e | "unregistered"."needs-update"."n | 
| a820 | 65 65 64 73 2d 6d 65 72 67 65 22 20 22 75 6e 6c    6f 63 6b 65 64 2d 63 68 61 6e 67 65 73 22 20 22 | eeds-merge"."unlocked-changes"." | 
| a840 | 63 6f 6e 66 6c 69 63 74 22 29 0a 20 20 22 4c 69    73 74 20 6f 66 20 73 74 61 74 65 73 20 63 68 65 | conflict")..."List.of.states.che | 
| a860 | 63 6b 65 64 20 62 79 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 62 72 6f 77 73 65 2d 64 69 72 74 79 | cked.by.`projectile-browse-dirty | 
| a880 | 2d 70 72 6f 6a 65 63 74 73 27 2e 0a 50 6f 73 73    69 62 6c 65 20 63 68 65 63 6b 65 64 20 73 74 61 | -projects'..Possible.checked.sta | 
| a8a0 | 74 65 73 20 61 72 65 3a 0a 5c 22 65 64 69 74 65    64 5c 22 2c 20 5c 22 75 6e 72 65 67 69 73 74 65 | tes.are:.\"edited\",.\"unregiste | 
| a8c0 | 72 65 64 5c 22 2c 20 5c 22 6e 65 65 64 73 2d 75    70 64 61 74 65 5c 22 2c 20 5c 22 6e 65 65 64 73 | red\",.\"needs-update\",.\"needs | 
| a8e0 | 2d 6d 65 72 67 65 5c 22 2c 0a 5c 22 75 6e 6c 6f    63 6b 65 64 2d 63 68 61 6e 67 65 73 5c 22 20 61 | -merge\",.\"unlocked-changes\".a | 
| a900 | 6e 64 20 5c 22 63 6f 6e 66 6c 69 63 74 5c 22 2c    0a 61 73 20 64 65 66 69 6e 65 64 20 69 6e 20 60 | nd.\"conflict\",.as.defined.in.` | 
| a920 | 76 63 2e 65 6c 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 | vc.el'."...:group.'projectile... | 
| a940 | 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 28    73 74 72 69 6e 67 29 29 0a 20 20 3a 70 61 63 6b | :type.'(repeat.(string))...:pack | 
| a960 | 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 31 2e 30 2e | age-version.'(projectile..."1.0. | 
| a980 | 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 6f 74 68 65 | 0"))..(defcustom.projectile-othe | 
| a9a0 | 72 2d 66 69 6c 65 2d 61 6c 69 73 74 0a 20 20 27    28 20 3b 3b 20 68 61 6e 64 6c 65 20 43 2f 43 2b | r-file-alist...'(.;;.handle.C/C+ | 
| a9c0 | 2b 20 65 78 74 65 6e 73 69 6f 6e 73 0a 20 20 20    20 28 22 63 70 70 22 20 2e 20 28 22 68 22 20 22 | +.extensions.....("cpp"...("h"." | 
| a9e0 | 68 70 70 22 20 22 69 70 70 22 29 29 0a 20 20 20    20 28 22 69 70 70 22 20 2e 20 28 22 68 22 20 22 | hpp"."ipp")).....("ipp"...("h"." | 
| aa00 | 68 70 70 22 20 22 63 70 70 22 29 29 0a 20 20 20    20 28 22 68 70 70 22 20 2e 20 28 22 68 22 20 22 | hpp"."cpp")).....("hpp"...("h"." | 
| aa20 | 69 70 70 22 20 22 63 70 70 22 20 22 63 63 22 29    29 0a 20 20 20 20 28 22 63 78 78 22 20 2e 20 28 | ipp"."cpp"."cc")).....("cxx"...( | 
| aa40 | 22 68 22 20 22 68 78 78 22 20 22 69 78 78 22 29    29 0a 20 20 20 20 28 22 69 78 78 22 20 2e 20 28 | "h"."hxx"."ixx")).....("ixx"...( | 
| aa60 | 22 68 22 20 22 68 78 78 22 20 22 63 78 78 22 29    29 0a 20 20 20 20 28 22 68 78 78 22 20 2e 20 28 | "h"."hxx"."cxx")).....("hxx"...( | 
| aa80 | 22 68 22 20 22 69 78 78 22 20 22 63 78 78 22 29    29 0a 20 20 20 20 28 22 63 22 20 20 20 2e 20 28 | "h"."ixx"."cxx")).....("c".....( | 
| aaa0 | 22 68 22 29 29 0a 20 20 20 20 28 22 6d 22 20 20    20 2e 20 28 22 68 22 29 29 0a 20 20 20 20 28 22 | "h")).....("m".....("h")).....(" | 
| aac0 | 6d 6d 22 20 20 2e 20 28 22 68 22 29 29 0a 20 20    20 20 28 22 68 22 20 20 20 2e 20 28 22 63 22 20 | mm"....("h")).....("h".....("c". | 
| aae0 | 22 63 63 22 20 22 63 70 70 22 20 22 69 70 70 22    20 22 68 70 70 22 20 22 63 78 78 22 20 22 69 78 | "cc"."cpp"."ipp"."hpp"."cxx"."ix | 
| ab00 | 78 22 20 22 68 78 78 22 20 22 6d 22 20 22 6d 6d    22 29 29 0a 20 20 20 20 28 22 63 63 22 20 20 2e | x"."hxx"."m"."mm")).....("cc"... | 
| ab20 | 20 28 22 68 22 20 22 68 68 22 20 22 68 70 70 22    29 29 0a 20 20 20 20 28 22 68 68 22 20 20 2e 20 | .("h"."hh"."hpp")).....("hh".... | 
| ab40 | 28 22 63 63 22 29 29 0a 0a 20 20 20 20 3b 3b 20    4f 43 61 6d 6c 20 65 78 74 65 6e 73 69 6f 6e 73 | ("cc"))......;;.OCaml.extensions | 
| ab60 | 0a 20 20 20 20 28 22 6d 6c 22 20 2e 20 28 22 6d    6c 69 22 29 29 0a 20 20 20 20 28 22 6d 6c 69 22 | .....("ml"...("mli")).....("mli" | 
| ab80 | 20 2e 20 28 22 6d 6c 22 20 22 6d 6c 6c 22 20 22    6d 6c 79 22 29 29 0a 20 20 20 20 28 22 6d 6c 6c | ...("ml"."mll"."mly")).....("mll | 
| aba0 | 22 20 2e 20 28 22 6d 6c 69 22 29 29 0a 20 20 20    20 28 22 6d 6c 79 22 20 2e 20 28 22 6d 6c 69 22 | "...("mli")).....("mly"...("mli" | 
| abc0 | 29 29 0a 20 20 20 20 28 22 65 6c 69 6f 6d 69 22    20 2e 20 28 22 65 6c 69 6f 6d 22 29 29 0a 20 20 | )).....("eliomi"...("eliom"))... | 
| abe0 | 20 20 28 22 65 6c 69 6f 6d 22 20 2e 20 28 22 65    6c 69 6f 6d 69 22 29 29 0a 0a 20 20 20 20 3b 3b | ..("eliom"...("eliomi"))......;; | 
| ac00 | 20 76 65 72 74 65 78 20 73 68 61 64 65 72 20 61    6e 64 20 66 72 61 67 6d 65 6e 74 20 73 68 61 64 | .vertex.shader.and.fragment.shad | 
| ac20 | 65 72 20 65 78 74 65 6e 73 69 6f 6e 73 20 69 6e    20 67 6c 73 6c 0a 20 20 20 20 28 22 76 65 72 74 | er.extensions.in.glsl.....("vert | 
| ac40 | 22 20 2e 20 28 22 66 72 61 67 22 29 29 0a 20 20    20 20 28 22 66 72 61 67 22 20 2e 20 28 22 76 65 | "...("frag")).....("frag"...("ve | 
| ac60 | 72 74 22 29 29 0a 0a 20 20 20 20 3b 3b 20 68 61    6e 64 6c 65 20 66 69 6c 65 73 20 77 69 74 68 20 | rt"))......;;.handle.files.with. | 
| ac80 | 6e 6f 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20    20 28 6e 69 6c 20 20 20 20 2e 20 28 22 6c 6f 63 | no.extension.....(nil......("loc | 
| aca0 | 6b 22 20 22 67 70 67 22 29 29 0a 20 20 20 20 28    22 6c 6f 63 6b 22 20 2e 20 28 22 22 29 29 0a 20 | k"."gpg")).....("lock"...("")).. | 
| acc0 | 20 20 20 28 22 67 70 67 22 20 20 2e 20 28 22 22    29 29 0a 20 20 20 20 29 0a 20 20 22 41 6c 69 73 | ...("gpg"....("")).....)..."Alis | 
| ace0 | 74 20 6f 66 20 65 78 74 65 6e 73 69 6f 6e 73 20    66 6f 72 20 73 77 69 74 63 68 69 6e 67 20 74 6f | t.of.extensions.for.switching.to | 
| ad00 | 20 66 69 6c 65 20 77 69 74 68 20 74 68 65 20 73    61 6d 65 20 6e 61 6d 65 2c 0a 20 20 75 73 69 6e | .file.with.the.same.name,...usin | 
| ad20 | 67 20 6f 74 68 65 72 20 65 78 74 65 6e 73 69 6f    6e 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 | g.other.extensions.based.on.the. | 
| ad40 | 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 63 75 72    72 65 6e 74 0a 20 20 66 69 6c 65 2e 22 0a 20 20 | extension.of.current...file."... | 
| ad60 | 3a 74 79 70 65 20 27 61 6c 69 73 74 29 0a 0a 28    64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 | :type.'alist)..(defcustom.projec | 
| ad80 | 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 69 6c 65 73 20 6e | tile-create-missing-test-files.n | 
| ada0 | 69 6c 0a 20 20 22 44 75 72 69 6e 67 20 74 6f 67    67 6c 69 6e 67 2c 20 69 66 20 6e 6f 6e 2d 6e 69 | il..."During.toggling,.if.non-ni | 
| adc0 | 6c 20 65 6e 61 62 6c 65 73 20 63 72 65 61 74 69    6e 67 20 74 65 73 74 20 66 69 6c 65 73 20 69 66 | l.enables.creating.test.files.if | 
| ade0 | 20 6e 6f 74 20 66 6f 75 6e 64 2e 0a 0a 57 68 65    6e 20 6e 6f 74 2d 6e 69 6c 2c 20 65 76 65 72 79 | .not.found...When.not-nil,.every | 
| ae00 | 20 63 61 6c 6c 20 74 6f 20 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6e 64 2d 69 6d 70 6c 65 6d 65 | .call.to.projectile-find-impleme | 
| ae20 | 6e 74 61 74 69 6f 6e 2d 6f 72 2d 74 65 73 74 2d    2a 0a 63 72 65 61 74 65 73 20 74 65 73 74 20 66 | ntation-or-test-*.creates.test.f | 
| ae40 | 69 6c 65 73 20 69 66 20 6e 6f 74 20 66 6f 75 6e    64 20 6f 6e 20 74 68 65 20 66 69 6c 65 20 73 79 | iles.if.not.found.on.the.file.sy | 
| ae60 | 73 74 65 6d 2e 20 20 44 65 66 61 75 6c 74 73 20    74 6f 20 6e 69 6c 2e 0a 49 74 20 61 73 73 75 6d | stem...Defaults.to.nil..It.assum | 
| ae80 | 65 73 20 74 68 65 20 74 65 73 74 2f 20 66 6f 6c    64 65 72 20 69 73 20 61 74 20 74 68 65 20 73 61 | es.the.test/.folder.is.at.the.sa | 
| aea0 | 6d 65 20 6c 65 76 65 6c 20 61 73 20 73 72 63 2f    2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f | me.level.as.src/."...:group.'pro | 
| aec0 | 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 | 
| aee0 | 75 73 74 6f 6d 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 | ustom.projectile-per-project-com | 
| af00 | 70 69 6c 61 74 69 6f 6e 2d 62 75 66 66 65 72 20    6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d | pilation-buffer.nil..."When.non- | 
| af20 | 6e 69 6c 2c 20 74 68 65 20 63 6f 6d 70 69 6c 61    74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20 6d 61 6b | nil,.the.compilation.command.mak | 
| af40 | 65 73 20 74 68 65 20 70 65 72 2d 70 72 6f 6a 65    63 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 62 | es.the.per-project.compilation.b | 
| af60 | 75 66 66 65 72 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 | uffer."...:group.'projectile...: | 
| af80 | 74 79 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 | type.'boolean...:package-version | 
| afa0 | 20 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e 20    22 32 2e 36 2e 30 22 29 29 0a 0a 28 64 65 66 63 | .'(projectile..."2.6.0"))..(defc | 
| afc0 | 75 73 74 6f 6d 20 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 | ustom.projectile-after-switch-pr | 
| afe0 | 6f 6a 65 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 72 69 67 68 | oject-hook.nil..."Hooks.run.righ | 
| b000 | 74 20 61 66 74 65 72 20 70 72 6f 6a 65 63 74 20    69 73 20 73 77 69 74 63 68 65 64 2e 22 0a 20 20 | t.after.project.is.switched."... | 
| b020 | 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 6f 6f 6b | :group.'projectile...:type.'hook | 
| b040 | 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 62 65 66 6f 72 65 2d | )..(defcustom.projectile-before- | 
| b060 | 73 77 69 74 63 68 2d 70 72 6f 6a 65 63 74 2d 68    6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 73 | switch-project-hook.nil..."Hooks | 
| b080 | 20 72 75 6e 20 77 68 65 6e 20 72 69 67 68 74 20    62 65 66 6f 72 65 20 70 72 6f 6a 65 63 74 20 69 | .run.when.right.before.project.i | 
| b0a0 | 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 65 63 74 69 6c | s.switched."...:group.'projectil | 
| b0c0 | 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 6d 20 70 72 6f | e...:type.'hook)..(defcustom.pro | 
| b0e0 | 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 6e 74 2d    70 72 6f 6a 65 63 74 2d 6f 6e 2d 73 77 69 74 63 | jectile-current-project-on-switc | 
| b100 | 68 20 27 72 65 6d 6f 76 65 0a 20 20 22 44 65 74    65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 | h.'remove..."Determines.whether. | 
| b120 | 74 6f 20 64 69 73 70 6c 61 79 20 63 75 72 72 65    6e 74 20 70 72 6f 6a 65 63 74 20 77 68 65 6e 20 | to.display.current.project.when. | 
| b140 | 73 77 69 74 63 68 69 6e 67 20 70 72 6f 6a 65 63    74 73 2e 0a 0a 57 68 65 6e 20 73 65 74 20 74 6f | switching.projects...When.set.to | 
| b160 | 20 60 72 65 6d 6f 76 65 27 20 63 75 72 72 65 6e    74 20 70 72 6f 6a 65 63 74 20 69 73 20 6e 6f 74 | .`remove'.current.project.is.not | 
| b180 | 20 69 6e 63 6c 75 64 65 64 2c 20 60 6d 6f 76 65    2d 74 6f 2d 65 6e 64 27 0a 77 69 6c 6c 20 64 69 | .included,.`move-to-end'.will.di | 
| b1a0 | 73 70 6c 61 79 20 63 75 72 72 65 6e 74 20 70 72    6f 6a 65 63 74 20 61 6e 64 20 74 68 65 20 65 6e | splay.current.project.and.the.en | 
| b1c0 | 64 20 6f 66 20 74 68 65 20 6c 69 73 74 20 6f 66    20 6b 6e 6f 77 6e 0a 70 72 6f 6a 65 63 74 73 2c | d.of.the.list.of.known.projects, | 
| b1e0 | 20 60 6b 65 65 70 27 20 77 69 6c 6c 20 6c 65 61    76 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 | .`keep'.will.leave.the.current.p | 
| b200 | 72 6f 6a 65 63 74 20 61 74 20 74 68 65 20 64 65    66 61 75 6c 74 0a 70 6f 73 69 74 69 6f 6e 2e 22 | roject.at.the.default.position." | 
| b220 | 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 28 | ...:group.'projectile...:type.'( | 
| b240 | 72 61 64 69 6f 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 65 6d | radio...........(const.:tag."Rem | 
| b260 | 6f 76 65 22 20 72 65 6d 6f 76 65 29 0a 20 20 20    20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 | ove".remove)...........(const.:t | 
| b280 | 61 67 20 22 4d 6f 76 65 20 74 6f 20 65 6e 64 22    20 6d 6f 76 65 2d 74 6f 2d 65 6e 64 29 0a 20 20 | ag."Move.to.end".move-to-end)... | 
| b2a0 | 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a    74 61 67 20 22 4b 65 65 70 22 20 6b 65 65 70 29 | ........(const.:tag."Keep".keep) | 
| b2c0 | 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 6d 61 78 2d 66 69 | ))..(defcustom.projectile-max-fi | 
| b2e0 | 6c 65 2d 62 75 66 66 65 72 2d 63 6f 75 6e 74 20    6e 69 6c 0a 20 20 22 4d 61 78 69 6d 75 6d 20 6e | le-buffer-count.nil..."Maximum.n | 
| b300 | 75 6d 62 65 72 20 6f 66 20 66 69 6c 65 20 62 75    66 66 65 72 73 20 70 65 72 20 70 72 6f 6a 65 63 | umber.of.file.buffers.per.projec | 
| b320 | 74 20 74 68 61 74 20 61 72 65 20 6b 65 70 74 20    6f 70 65 6e 2e 0a 0a 49 66 20 74 68 65 20 76 61 | t.that.are.kept.open...If.the.va | 
| b340 | 6c 75 65 20 69 73 20 6e 69 6c 2c 20 74 68 65 72    65 20 69 73 20 6e 6f 20 6c 69 6d 69 74 20 74 6f | lue.is.nil,.there.is.no.limit.to | 
| b360 | 20 74 68 65 20 6f 70 65 6e 64 20 62 75 66 66 65    72 73 20 63 6f 75 6e 74 2e 22 0a 20 20 3a 67 72 | .the.opend.buffers.count."...:gr | 
| b380 | 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 69 6e 74 65 67 65 72 | oup.'projectile...:type.'integer | 
| b3a0 | 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 65 | ...:package-version.'(projectile | 
| b3c0 | 20 2e 20 22 32 2e 32 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 | ..."2.2.0"))..(defcustom.project | 
| b3e0 | 69 6c 65 2d 63 6d 64 2d 68 69 73 74 2d 69 67 6e    6f 72 65 64 75 70 73 20 74 0a 20 20 22 43 6f 6e | ile-cmd-hist-ignoredups.t..."Con | 
| b400 | 74 72 6f 6c 73 20 77 68 65 6e 20 69 6e 70 75 74    73 20 61 72 65 20 61 64 64 65 64 20 74 6f 20 70 | trols.when.inputs.are.added.to.p | 
| b420 | 72 6f 6a 65 63 74 69 6c 65 27 73 20 63 6f 6d 6d    61 6e 64 20 68 69 73 74 6f 72 79 2e 0a 0a 41 20 | rojectile's.command.history...A. | 
| b440 | 76 61 6c 75 65 20 6f 66 20 74 20 6d 65 61 6e 73    20 63 6f 6e 73 65 63 75 74 69 76 65 20 64 75 70 | value.of.t.means.consecutive.dup | 
| b460 | 6c 69 63 61 74 65 73 20 61 72 65 20 69 67 6e 6f    72 65 64 2e 0a 41 20 76 61 6c 75 65 20 6f 66 20 | licates.are.ignored..A.value.of. | 
| b480 | 60 65 72 61 73 65 27 20 6d 65 61 6e 73 20 6f 6e    6c 79 20 74 68 65 20 6c 61 73 74 20 64 75 70 6c | `erase'.means.only.the.last.dupl | 
| b4a0 | 69 63 61 74 65 20 69 73 20 6b 65 70 74 2e 0a 41    20 76 61 6c 75 65 20 6f 66 20 6e 69 6c 20 6d 65 | icate.is.kept..A.value.of.nil.me | 
| b4c0 | 61 6e 73 20 6e 6f 74 68 69 6e 67 20 69 73 20 69    67 6e 6f 72 65 64 2e 22 0a 20 20 3a 74 79 70 65 | ans.nothing.is.ignored."...:type | 
| b4e0 | 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 74    20 3a 74 61 67 20 22 44 6f 6e 27 74 20 69 67 6e | .'(choice.(const.:tag."Don't.ign | 
| b500 | 6f 72 65 20 61 6e 79 74 68 69 6e 67 22 20 6e 69    6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ore.anything".nil).............. | 
| b520 | 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20    22 49 67 6e 6f 72 65 20 63 6f 6e 73 65 63 75 74 | ....(const.:tag."Ignore.consecut | 
| b540 | 69 76 65 20 64 75 70 6c 69 63 61 74 65 73 22 20    74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ive.duplicates".t).............. | 
| b560 | 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20    22 4f 6e 6c 79 20 6b 65 65 70 20 6c 61 73 74 20 | ....(const.:tag."Only.keep.last. | 
| b580 | 64 75 70 6c 69 63 61 74 65 22 20 65 72 61 73 65    29 29 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 | duplicate".erase))...:package-ve | 
| b5a0 | 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69    6c 65 20 2e 20 22 32 2e 39 2e 30 22 29 29 0a 0a | rsion.'(projectile..."2.9.0")).. | 
| b5c0 | 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 74 2d | (defvar.projectile-project-test- | 
| b5e0 | 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 65 20 | suffix.nil..."Use.this.variable. | 
| b600 | 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 27 | to.override.the.current.project' | 
| b620 | 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 65 73 | s.test-suffix.property..It.takes | 
| b640 | 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 69 78 | .precedence.over.the.test-suffix | 
| b660 | 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 0a | .for.the.project.type.when.set.. | 
| b680 | 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 6c | Should.be.set.via..dir-locals.el | 
| b6a0 | 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 2d | .")..(defvar.projectile-project- | 
| b6c0 | 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 72 69 | test-prefix.nil..."Use.this.vari | 
| b6e0 | 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 72 6f | able.to.override.the.current.pro | 
| b700 | 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 74 20 | ject's.test-prefix.property..It. | 
| b720 | 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 2d 70 | takes.precedence.over.the.test-p | 
| b740 | 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 6e 20 | refix.for.the.project.type.when. | 
| b760 | 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 63 61 | set..Should.be.set.via..dir-loca | 
| b780 | 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 6f | ls.el.")..(defvar.projectile-pro | 
| b7a0 | 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 73 65 | ject-related-files-fn.nil..."Use | 
| b7c0 | 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 20 63 | .this.variable.to.override.the.c | 
| b7e0 | 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 2d 66 | urrent.project's.related-files-f | 
| b800 | 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 65 20 | n.property..It.takes.precedence. | 
| b820 | 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 69 62 | over.the.related-files-fn.attrib | 
| b840 | 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 73 65 | ute.for.the.project.type.when.se | 
| b860 | 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 61 6c | t...Should.be.set.via..dir-local | 
| b880 | 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 6f 6a | s.el.")..(defvar.projectile-proj | 
| b8a0 | 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 72 69 | ect-src-dir.nil..."Use.this.vari | 
| b8c0 | 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 72 6f | able.to.override.the.current.pro | 
| b8e0 | 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 6b 65 | ject's.src-dir.property..It.take | 
| b900 | 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 66 6f | s.precedence.over.the.src-dir.fo | 
| b920 | 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 68 6f | r.the.project.type.when.set..Sho | 
| b940 | 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.") | 
| b960 | 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 | 
| b980 | 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 20 74 | t-dir.nil..."Use.this.variable.t | 
| b9a0 | 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 27 73 | o.override.the.current.project's | 
| b9c0 | 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 72 65 | .test-dir.property..It.takes.pre | 
| b9e0 | 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 74 68 | cedence.over.the.test-dir.for.th | 
| ba00 | 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 20 | e.project.type.when.set..Should. | 
| ba20 | 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 0c 0a | be.set.via..dir-locals.el.").... | 
| ba40 | 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 6f 6e | ;;;.Version.information..(defcon | 
| ba60 | 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 39 2e 31 22 0a 20 20 | st.projectile-version."2.9.1"... | 
| ba80 | 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 74 69 | "The.current.version.of.Projecti | 
| baa0 | 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 76 65 | le.")..(defun.projectile--pkg-ve | 
| bac0 | 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 27 73 | rsion.()..."Extract.Projectile's | 
| bae0 | 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 61 67 | .package.version.from.its.packag | 
| bb00 | 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 65 6c | e.metadata."...;;.Use.`cond'.bel | 
| bb20 | 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 72 65 | ow.to.avoid.a.compiler.unused.re | 
| bb40 | 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 70 61 | turn.value.warning...;;.when.`pa | 
| bb60 | 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 2e 20 | ckage-get-version'.returns.nil.. | 
| bb80 | 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 74 68 | See.#3181....;;.FIXME:.Inline.th | 
| bba0 | 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 6f 6e | e.logic.from.package-get-version | 
| bbc0 | 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 70 20 | .and.adapt.it...(cond.((fboundp. | 
| bbe0 | 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 20 28 | 'package-get-version)..........( | 
| bc00 | 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 23 61 | package-get-version))))..;;;###a | 
| bc20 | 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 69 6f | utoload.(defun.projectile-versio | 
| bc40 | 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 47 65 | n.(&optional.show-version)..."Ge | 
| bc60 | 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 72 69 | t.the.Projectile.version.as.stri | 
| bc80 | 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 72 20 | ng...If.called.interactively.or. | 
| bca0 | 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 6f 77 | if.SHOW-VERSION.is.non-nil,.show | 
| bcc0 | 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 61 6e | .the.version.in.the.echo.area.an | 
| bce0 | 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 74 75 | d.the.messages.buffer...The.retu | 
| bd00 | 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 20 76 | rned.string.includes.both,.the.v | 
| bd20 | 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 20 6c | ersion.from.package.el.and.the.l | 
| bd40 | 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 65 6e | ibrary.version,.if.both.a.presen | 
| bd60 | 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 6f 6e | t.and.different...If.the.version | 
| bd80 | 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 64 2c | .number.could.not.be.determined, | 
| bda0 | 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 74 65 | .signal.an.error,.if.called.inte | 
| bdc0 | 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 69 73 | ractively,.or.if.SHOW-VERSION.is | 
| bde0 | 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 6e 20 | .non-nil,.otherwise.just.return. | 
| be00 | 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 0a 20 | nil."...(interactive.(list.t)).. | 
| be20 | 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 65 2d | .(let.((version.(or.(projectile- | 
| be40 | 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 6f 6e | -pkg-version).projectile-version | 
| be60 | 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 20 28 | )))....(if.show-version........( | 
| be80 | 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 6e 29 | message."Projectile.%s".version) | 
| bea0 | 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 6c 69 | ......version)))..;;;.Misc.utili | 
| bec0 | 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 2d 64 | ty.functions.(defun.projectile-d | 
| bee0 | 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 72 65 | ifference.(list1.list2)...(cl-re | 
| bf00 | 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 20 78 | move-if....(lambda.(x).(member.x | 
| bf20 | 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 6f 6a | .list2))....list1))..(defun.proj | 
| bf40 | 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 65 63 | ectile-unixy-system-p.()..."Chec | 
| bf60 | 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 65 73 | k.to.see.if.unixy.text.utilities | 
| bf80 | 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 20 20 | .are.installed."...(cl-every.... | 
| bfa0 | 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 29 29 | (lambda.(x).(executable-find.x)) | 
| bfc0 | 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 28 64 | ....'("grep"."cut"."uniq")))..(d | 
| bfe0 | 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 63 74 | efun.projectile-symbol-or-select | 
| c000 | 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 62 6f | ion-at-point.()..."Get.the.symbo | 
| c020 | 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 20 20 | l.or.selected.text.at.point."... | 
| c040 | 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 65 72 | (if.(use-region-p).......(buffer | 
| c060 | 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 6f 6e | -substring-no-properties.(region | 
| c080 | 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 28 70 | -beginning).(region-end)).....(p | 
| c0a0 | 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 28 64 | rojectile-symbol-at-point)))..(d | 
| c0c0 | 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 74 20 | efun.projectile-symbol-at-point. | 
| c0e0 | 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 61 6e | ()..."Get.the.symbol.at.point.an | 
| c100 | 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 62 73 | d.strip.its.properties."...(subs | 
| c120 | 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 2d 61 | tring-no-properties.(or.(thing-a | 
| c140 | 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 20 70 | t-point.'symbol)."")))..(defun.p | 
| c160 | 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 65 20 | rojectile-generate-process-name. | 
| c180 | 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 6f 6a | (process.make-new.&optional.proj | 
| c1a0 | 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 66 6f | ect)..."Infer.the.buffer.name.fo | 
| c1c0 | 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 65 20 | r.PROCESS.or.generate.a.new.one. | 
| c1e0 | 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 69 6f | if.MAKE-NEW.is.true..The.functio | 
| c200 | 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 65 63 | n.operates.on.the.current.projec | 
| c220 | 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 0a 73 | t.by.default,.but.you.can.also.s | 
| c240 | 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 61 20 | pecify.a.project.explicitly.via. | 
| c260 | 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 20 28 | the.optional.PROJECT.param."...( | 
| c280 | 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 6f 6a | let*.((project.(or.project.(proj | 
| c2a0 | 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 20 20 | ectile-acquire-root))).......... | 
| c2c0 | 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 72 6f | (base-name.(format."*%s.%s*".pro | 
| c2e0 | 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 70 72 | cess.(projectile-project-name.pr | 
| c300 | 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 20 20 | oject)))).....(if.make-new...... | 
| c320 | 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 61 73 | ...(generate-new-buffer-name.bas | 
| c340 | 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 3b 3b | e-name).......base-name)))....;; | 
| c360 | 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 69 6c | ;.Serialization.(defun.projectil | 
| c380 | 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 22 53 | e-serialize.(data.filename)..."S | 
| c3a0 | 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 65 20 | erialize.DATA.to.FILENAME...The. | 
| c3c0 | 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 68 20 | saved.data.can.be.restored.with. | 
| c3e0 | 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 69 66 | `projectile-unserialize'."...(if | 
| c400 | 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 20 20 | .(file-writable-p.filename)..... | 
| c420 | 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 20 28 | (with-temp-file.filename.......( | 
| c440 | 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 69 6e | insert.(let.(print-length).(prin | 
| c460 | 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 61 67 | 1-to-string.data)))).....(messag | 
| c480 | 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 72 69 | e."Projectile.cache.'%s'.not.wri | 
| c4a0 | 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 6f 6a | teable".filename)))..(defun.proj | 
| c4c0 | 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 20 20 | ectile-unserialize.(filename)... | 
| c4e0 | 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 65 63 | "Read.data.serialized.by.`projec | 
| c500 | 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 22 0a | tile-serialize'.from.FILENAME.". | 
| c520 | 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 45 72 | ..(with-demoted-errors......."Er | 
| c540 | 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 6e 3a | ror.during.file.deserialization: | 
| c560 | 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 66 69 | .%S".....(when.(file-exists-p.fi | 
| c580 | 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 72 0a | lename).......(with-temp-buffer. | 
| c5a0 | 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 66 69 | ........(insert-file-contents.fi | 
| c5c0 | 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 6c 6f | lename).........;;.this.will.blo | 
| c5e0 | 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 6c 65 | w.up.if.the.contents.of.the.file | 
| c600 | 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 74 72 | .aren't.........;;.lisp.data.str | 
| c620 | 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 73 74 | uctures.........(read.(buffer-st | 
| c640 | 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 76 61 | ring))))))....;;;.Caching.(defva | 
| c660 | 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 0a 20 | r.projectile-file-exists-cache.. | 
| c680 | 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). | 
| c6a0 | 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 73 74 | .."Cached.`projectile-file-exist | 
| c6c0 | 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 63 74 | s-p'.results.")..(defvar.project | 
| c6e0 | 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 6c 0a | ile-file-exists-cache-timer.nil. | 
| c700 | 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 74 69 | .."Timer.for.scheduling`projecti | 
| c720 | 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 22 29 | le-file-exists-cache-cleanup'.") | 
| c740 | 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 73 2d | ..(defun.projectile-file-exists- | 
| c760 | 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 20 74 69 6d 65 64 | cache-cleanup.()..."Remove.timed | 
| c780 | 20 6f 75 74 20 63 61 63 68 65 20 65 6e 74 72 69    65 73 2e 0a 41 6c 73 6f 20 72 65 73 63 68 65 64 | .out.cache.entries..Also.resched | 
| c7a0 | 75 6c 65 20 6f 72 20 72 65 6d 6f 76 65 20 74 68    65 20 74 69 6d 65 72 20 69 66 20 6e 6f 20 6d 6f | ule.or.remove.the.timer.if.no.mo | 
| c7c0 | 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 28 6c | re.items.are.in.the.cache."...(l | 
| c7e0 | 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 28 6d | et.((now.(current-time))).....(m | 
| c800 | 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 20 20 | aphash.(lambda.(key.value)...... | 
| c820 | 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 72 20 | ..........(if.(time-less-p.(cdr. | 
| c840 | 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 20 28 | value).now)....................( | 
| c860 | 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 69 73 | remhash.key.projectile-file-exis | 
| c880 | 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 63 74 | ts-cache)))..............project | 
| c8a0 | 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 74 71 | ile-file-exists-cache).....(setq | 
| c8c0 | 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 69 | .projectile-file-exists-cache-ti | 
| c8e0 | 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 6c 65 | mer...........(if.(>.(hash-table | 
| c900 | 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 63 61 | -count.projectile-file-exists-ca | 
| c920 | 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 68 2d | che).0)...............(run-with- | 
| c940 | 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 65 78 | timer.10.nil.'projectile-file-ex | 
| c960 | 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 6e 20 | ists-cache-cleanup)))))..(defun. | 
| c980 | 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 6e 61 | projectile-file-exists-p.(filena | 
| c9a0 | 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 4d 45 | me)..."Return.t.if.file.FILENAME | 
| c9c0 | 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 2d 65 | .exist..A.wrapper.around.`file-e | 
| c9e0 | 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 6e 67 | xists-p'.with.additional.caching | 
| ca00 | 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 74 65 | .support."...(let*.((file-remote | 
| ca20 | 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 20 20 | .(file-remote-p.filename))...... | 
| ca40 | 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 28 69 | ....(expire-seconds...........(i | 
| ca60 | 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 6e 64 | f.file-remote...............(and | 
| ca80 | 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 2d 63 | .projectile-file-exists-remote-c | 
| caa0 | 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 20 28 | ache-expire....................( | 
| cac0 | 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 65 2d | >.projectile-file-exists-remote- | 
| cae0 | 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 20 20 | cache-expire.0)................. | 
| cb00 | 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 74 65 | ...projectile-file-exists-remote | 
| cb20 | 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 64 20 | -cache-expire).............(and. | 
| cb40 | 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 | 
| cb60 | 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 70 72 | he-expire..................(>.pr | 
| cb80 | 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 | 
| cba0 | 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 6f 6a | -expire.0)..................proj | 
| cbc0 | 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 2d 65 | ectile-file-exists-local-cache-e | 
| cbe0 | 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 2d 6e | xpire)))..........(remote-file-n | 
| cc00 | 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 65 63 | ame-inhibit-cache.(if.expire-sec | 
| cc20 | 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 20 20 | onds............................ | 
| cc40 | 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 64 73 | ..................expire-seconds | 
| cc60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| cc80 | 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 6e 68 | ............remote-file-name-inh | 
| cca0 | 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 69 72 | ibit-cache))).....(if.(not.expir | 
| ccc0 | 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 73 2d | e-seconds).........(file-exists- | 
| cce0 | 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 65 6e | p.filename).......(let*.((curren | 
| cd00 | 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 20 20 | t-time.(current-time)).......... | 
| cd20 | 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 70 72 | ....(cached.(gethash.filename.pr | 
| cd40 | 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 20 20 | ojectile-file-exists-cache)).... | 
| cd60 | 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 63 68 | ..........(cached-value.(if.cach | 
| cd80 | 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 20 28 | ed.(car.cached)))..............( | 
| cda0 | 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 63 61 | cached-expire.(if.cached.(cdr.ca | 
| cdc0 | 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 78 70 | ched)))..............(cached-exp | 
| cde0 | 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 61 63 | ired.(if.cached.(time-less-p.cac | 
| ce00 | 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 20 20 | hed-expire.current-time).t)).... | 
| ce20 | 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 20 63 | ..........(value.(or.(and.(not.c | 
| ce40 | 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 20 20 | ached-expired).cached-value).... | 
| ce60 | 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 2d 65 | .....................(if.(file-e | 
| ce80 | 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 6f 75 | xists-p.filename).'found.'notfou | 
| cea0 | 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 63 61 | nd)))).........(when.(or.(not.ca | 
| cec0 | 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 20 20 | ched).cached-expired)........... | 
| cee0 | 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 20 20 | (puthash.filename............... | 
| cf00 | 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 72 65 | .....(cons.value.(time-add.curre | 
| cf20 | 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 65 2d | nt-time.(seconds-to-time.expire- | 
| cf40 | 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 70 72 | seconds)))....................pr | 
| cf60 | 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 20 20 | ojectile-file-exists-cache)).... | 
| cf80 | 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 78 69 | .....(unless.projectile-file-exi | 
| cfa0 | 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 71 20 | sts-cache-timer...........(setq. | 
| cfc0 | 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 69 6d | projectile-file-exists-cache-tim | 
| cfe0 | 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 69 6d | er.................(run-with-tim | 
| d000 | 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 73 74 | er.10.nil.'projectile-file-exist | 
| d020 | 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 75 61 | s-cache-cleanup))).........(equa | 
| d040 | 6c 20 76 61 6c 75 65 20 27 66 6f 75 6e 64 29 29    29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 70 | l.value.'found)))))..(defsubst.p | 
| d060 | 72 6f 6a 65 63 74 69 6c 65 2d 70 65 72 73 69 73    74 65 6e 74 2d 63 61 63 68 65 2d 70 20 28 29 0a | rojectile-persistent-cache-p.(). | 
| d080 | 20 20 28 65 71 20 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 | ..(eq.projectile-enable-caching. | 
| d0a0 | 27 70 65 72 73 69 73 74 65 6e 74 29 29 0a 0a 3b    3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 | 'persistent))..;;;###autoload.(d | 
| d0c0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 | efun.projectile-invalidate-cache | 
| d0e0 | 20 28 70 72 6f 6d 70 74 29 0a 20 20 22 52 65 6d    6f 76 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 | .(prompt)..."Remove.the.current. | 
| d100 | 70 72 6f 6a 65 63 74 27 73 20 66 69 6c 65 73 20    66 72 6f 6d 20 60 70 72 6f 6a 65 63 74 69 6c 65 | project's.files.from.`projectile | 
| d120 | 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 27    2e 0a 0a 57 69 74 68 20 61 20 70 72 65 66 69 78 | -projects-cache'...With.a.prefix | 
| d140 | 20 61 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54    20 70 72 6f 6d 70 74 73 20 66 6f 72 20 74 68 65 | .argument.PROMPT.prompts.for.the | 
| d160 | 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f    6a 65 63 74 20 77 68 6f 73 65 20 63 61 63 68 65 | .name.of.the.project.whose.cache | 
| d180 | 0a 74 6f 20 69 6e 76 61 6c 69 64 61 74 65 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 | .to.invalidate."...(interactive. | 
| d1a0 | 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 0a 20 20 20 20 20 | "P")...(let.((project-root...... | 
| d1c0 | 20 20 20 20 28 69 66 20 70 72 6f 6d 70 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d | ....(if.prompt..............(com | 
| d1e0 | 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 52 65    6d 6f 76 65 20 63 61 63 68 65 20 66 6f 72 3a 20 | pleting-read."Remove.cache.for:. | 
| d200 | 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 | "............................... | 
| d220 | 28 68 61 73 68 2d 74 61 62 6c 65 2d 6b 65 79 73    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | (hash-table-keys.projectile-proj | 
| d240 | 65 63 74 73 2d 63 61 63 68 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 | ects-cache))............(project | 
| d260 | 69 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74    29 29 29 29 0a 20 20 20 20 3b 3b 20 72 65 73 65 | ile-acquire-root)))).....;;.rese | 
| d280 | 74 20 74 68 65 20 69 6e 2d 6d 65 6d 6f 72 79 20    63 61 63 68 65 0a 20 20 20 20 28 73 65 74 71 20 | t.the.in-memory.cache.....(setq. | 
| d2a0 | 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 | 
| d2c0 | 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 29 0a 20 20 | ake-hash-table.:test.'equal))... | 
| d2e0 | 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 | 
| d300 | 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 28 72 65 6d 68 | le-project-type-cache).....(remh | 
| d320 | 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 6f 6a | ash.project-root.projectile-proj | 
| d340 | 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 70 72 6f 6a 65 63 74 | ects-cache).....(remhash.project | 
| d360 | 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 2d 63 61 63 68 65 2d | -root.projectile-projects-cache- | 
| d380 | 74 69 6d 65 29 0a 20 20 20 20 3b 3b 20 72 65 73    65 74 20 74 68 65 20 70 72 6f 6a 65 63 74 27 73 | time).....;;.reset.the.project's | 
| d3a0 | 20 63 61 63 68 65 20 66 69 6c 65 0a 20 20 20 20    28 77 68 65 6e 20 28 70 72 6f 6a 65 63 74 69 6c | .cache.file.....(when.(projectil | 
| d3c0 | 65 2d 70 65 72 73 69 73 74 65 6e 74 2d 63 61 63    68 65 2d 70 29 0a 20 20 20 20 20 20 3b 3b 20 54 | e-persistent-cache-p).......;;.T | 
| d3e0 | 4f 44 4f 3a 20 50 65 72 68 61 70 73 20 69 74 27    73 20 62 65 74 74 65 72 20 74 6f 20 64 65 6c 65 | ODO:.Perhaps.it's.better.to.dele | 
| d400 | 74 65 20 74 68 65 20 63 61 63 68 65 20 66 69 6c    65 20 69 6e 20 73 75 63 68 20 63 61 73 65 73 3f | te.the.cache.file.in.such.cases? | 
| d420 | 0a 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 20 6e 69 6c | .......(projectile-serialize.nil | 
| d440 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 63 61 63 68 65 2d 66 69 6c 65 20 | .(projectile-project-cache-file. | 
| d460 | 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 70 72 6f 6a 65 63 | project-root))).....(when.projec | 
| d480 | 74 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 49 6e 76 | tile-verbose.......(message."Inv | 
| d4a0 | 61 6c 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 | alidated.Projectile.cache.for.%s | 
| d4c0 | 2e 22 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 | ."................(propertize.pr | 
| d4e0 | 6f 6a 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 | oject-root.'face.'font-lock-keyw | 
| d500 | 6f 72 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 | ord-face))))...(when.(fboundp.'r | 
| d520 | 65 63 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 | ecentf-cleanup).....(recentf-cle | 
| d540 | 61 6e 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 | anup)))..(defun.projectile-time- | 
| d560 | 73 65 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 | seconds.()..."Return.the.number. | 
| d580 | 6f 66 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 | of.seconds.since.the.unix.epoch. | 
| d5a0 | 22 0a 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 | "...(if.(fboundp.'time-convert). | 
| d5c0 | 20 20 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 | ......(time-convert.nil.'integer | 
| d5e0 | 29 0a 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 | ).....(cl-destructuring-bind.(hi | 
| d600 | 67 68 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 | gh.low._usec._psec).(current-tim | 
| d620 | 65 29 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 | e).......(+.(ash.high.16).low))) | 
| d640 | 29 0a 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 | )..(defun.projectile-cache-proje | 
| d660 | 63 74 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 | ct.(project.files)..."Cache.PROJ | 
| d680 | 45 43 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 | ECTs.FILES..The.cache.is.created | 
| d6a0 | 20 62 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 | .both.in.memory.and.on.the.hard. | 
| d6c0 | 64 72 69 76 65 2e 22 0a 20 20 28 70 75 74 68 61    73 68 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 | drive."...(puthash.project.files | 
| d6e0 | 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 28 70 | .projectile-projects-cache)...(p | 
| d700 | 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 69 6d 65 2d | uthash.project.(projectile-time- | 
| d720 | 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 2d 63 61 63 | seconds).projectile-projects-cac | 
| d740 | 68 65 2d 74 69 6d 65 29 0a 20 20 28 77 68 65 6e    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 65 72 | he-time)...(when.(projectile-per | 
| d760 | 73 69 73 74 65 6e 74 2d 63 61 63 68 65 2d 70 29    0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | sistent-cache-p).....(projectile | 
| d780 | 2d 73 65 72 69 61 6c 69 7a 65 20 66 69 6c 65 73    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | -serialize.files.(projectile-pro | 
| d7a0 | 6a 65 63 74 2d 63 61 63 68 65 2d 66 69 6c 65 20    70 72 6f 6a 65 63 74 29 29 29 29 0a 0a 28 64 65 | ject-cache-file.project))))..(de | 
| d7c0 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6c    6f 61 64 2d 70 72 6f 6a 65 63 74 2d 63 61 63 68 | fun.projectile-load-project-cach | 
| d7e0 | 65 20 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29    0a 20 20 22 4c 6f 61 64 20 74 68 65 20 63 61 63 | e.(project-root)..."Load.the.cac | 
| d800 | 68 65 20 66 69 6c 65 20 66 6f 72 20 50 52 4f 4a    45 43 54 2d 52 4f 4f 54 20 69 6e 20 6d 65 6d 6f | he.file.for.PROJECT-ROOT.in.memo | 
| d820 | 72 79 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74    2a 20 28 28 63 61 63 68 65 2d 66 69 6c 65 20 28 | ry."...(when-let*.((cache-file.( | 
| d840 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 63 61 63 68 65 2d 66 69 6c 65 20 70 72 | projectile-project-cache-file.pr | 
| d860 | 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 66 69 6c 65 2d 65 78 | oject-root))).....(when.(file-ex | 
| d880 | 69 73 74 73 2d 70 20 63 61 63 68 65 2d 66 69 6c    65 29 0a 20 20 20 20 20 20 28 70 75 74 68 61 73 | ists-p.cache-file).......(puthas | 
| d8a0 | 68 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 75 6e 73 65 72 | h.project-root.(projectile-unser | 
| d8c0 | 69 61 6c 69 7a 65 20 63 61 63 68 65 2d 66 69 6c    65 29 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | ialize.cache-file).projectile-pr | 
| d8e0 | 6f 6a 65 63 74 73 2d 63 61 63 68 65 29 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | ojects-cache))))..;;;###autoload | 
| d900 | 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 66 69 6c 65 2d 66 72 | .(defun.projectile-purge-file-fr | 
| d920 | 6f 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 | om-cache.(file)..."Purge.FILE.fr | 
| d940 | 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 | 
| d960 | 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 | 
| d980 | 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....... | 
| d9a0 | 20 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 | ...."Remove.file.from.cache:.".. | 
| d9c0 | 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 74 2d 70 72 6f | .........(projectile-current-pro | 
| d9e0 | 6a 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 | ject-files))))...(let*.((project | 
| da00 | 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 29 | -root.(projectile-project-root)) | 
| da20 | 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 74 68 61 73 | ..........(project-cache.(gethas | 
| da40 | 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 6f 6a 65 63 | h.project-root.projectile-projec | 
| da60 | 74 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 | ts-cache))).....(if.(projectile- | 
| da80 | 66 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 | file-cached-p.file.project-root) | 
| daa0 | 0a 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 | .........(progn...........(putha | 
| dac0 | 73 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 | sh.project-root.(remove.file.pro | 
| dae0 | 6a 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 | ject-cache).projectile-projects- | 
| db00 | 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 28 70 72 6f 6a 65 63 74 69 | cache)...........(when.(projecti | 
| db20 | 6c 65 2d 70 65 72 73 69 73 74 65 6e 74 2d 63 61    63 68 65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 | le-persistent-cache-p).......... | 
| db40 | 20 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 6a 65 63 74 | ...(projectile-serialize.project | 
| db60 | 2d 63 61 63 68 65 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 63 61 63 68 65 | -cache.(projectile-project-cache | 
| db80 | 2d 66 69 6c 65 20 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | -file.project-root)))........... | 
| dba0 | 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 76 65 72 62 6f 73 65 0a 20 20 20 20 20 20 20 | (when.projectile-verbose........ | 
| dbc0 | 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25    73 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 63 | .....(message."%s.removed.from.c | 
| dbe0 | 61 63 68 65 22 20 66 69 6c 65 29 29 29 0a 20 20    20 20 20 20 28 65 72 72 6f 72 20 22 25 73 20 69 | ache".file))).......(error."%s.i | 
| dc00 | 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 63 61 63    68 65 22 20 66 69 6c 65 29 29 29 29 0a 0a 3b 3b | s.not.in.the.cache".file))))..;; | 
| dc20 | 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 70 | ;###autoload.(defun.projectile-p | 
| dc40 | 75 72 67 65 2d 64 69 72 2d 66 72 6f 6d 2d 63 61    63 68 65 20 28 64 69 72 29 0a 20 20 22 50 75 72 | urge-dir-from-cache.(dir)..."Pur | 
| dc60 | 67 65 20 44 49 52 20 66 72 6f 6d 20 74 68 65 20    63 61 63 68 65 20 6f 66 20 74 68 65 20 63 75 72 | ge.DIR.from.the.cache.of.the.cur | 
| dc80 | 72 65 6e 74 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 0a 20 20 | rent.project."...(interactive... | 
| dca0 | 20 28 6c 69 73 74 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 | .(list.(projectile-completing-re | 
| dcc0 | 61 64 0a 20 20 20 20 20 20 20 20 20 20 22 52 65    6d 6f 76 65 20 64 69 72 65 63 74 6f 72 79 20 66 | ad..........."Remove.directory.f | 
| dce0 | 72 6f 6d 20 63 61 63 68 65 3a 20 22 0a 20 20 20    20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | rom.cache:."...........(projecti | 
| dd00 | 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 29 0a 20 20 28 6c | le-current-project-dirs))))...(l | 
| dd20 | 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 69 6c 65 2d 70 | et*.((project-root.(projectile-p | 
| dd40 | 72 6f 6a 65 63 74 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 | roject-root))..........(project- | 
| dd60 | 63 61 63 68 65 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 6a | cache.(gethash.project-root.proj | 
| dd80 | 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 2d    63 61 63 68 65 29 29 29 0a 20 20 20 20 28 70 75 | ectile-projects-cache))).....(pu | 
| dda0 | 74 68 61 73 68 20 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | thash.project-root.............. | 
| ddc0 | 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 20 28 6c    61 6d 62 64 61 20 28 73 74 72 29 20 28 73 74 72 | (cl-remove-if.(lambda.(str).(str | 
| dde0 | 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 64 69 72    20 73 74 72 29 29 20 70 72 6f 6a 65 63 74 2d 63 | ing-prefix-p.dir.str)).project-c | 
| de00 | 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | ache)..............projectile-pr | 
| de20 | 6f 6a 65 63 74 73 2d 63 61 63 68 65 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | ojects-cache)))..(defun.projecti | 
| de40 | 6c 65 2d 66 69 6c 65 2d 63 61 63 68 65 64 2d 70    20 28 66 69 6c 65 20 70 72 6f 6a 65 63 74 29 0a | le-file-cached-p.(file.project). | 
| de60 | 20 20 22 43 68 65 63 6b 20 69 66 20 46 49 4c 45    20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 50 | .."Check.if.FILE.is.already.in.P | 
| de80 | 52 4f 4a 45 43 54 20 63 61 63 68 65 2e 22 0a 20    20 28 6d 65 6d 62 65 72 20 66 69 6c 65 20 28 67 | ROJECT.cache."...(member.file.(g | 
| dea0 | 65 74 68 61 73 68 20 70 72 6f 6a 65 63 74 20 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | ethash.project.projectile-projec | 
| dec0 | 74 73 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 28 64 65 66 | ts-cache)))..;;;###autoload.(def | 
| dee0 | 75 6e 20 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 65 | un.projectile-cache-current-file | 
| df00 | 20 28 29 0a 20 20 22 41 64 64 20 74 68 65 20 63    75 72 72 65 6e 74 6c 79 20 76 69 73 69 74 65 64 | .()..."Add.the.currently.visited | 
| df20 | 20 66 69 6c 65 20 74 6f 20 74 68 65 20 63 61 63    68 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | .file.to.the.cache."...(interact | 
| df40 | 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 63 75    72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 20 28 70 | ive)...(let.((current-project.(p | 
| df60 | 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 28 77 | rojectile-project-root))).....(w | 
| df80 | 68 65 6e 20 28 61 6e 64 20 28 62 75 66 66 65 72    2d 66 69 6c 65 2d 6e 61 6d 65 29 20 28 67 65 74 | hen.(and.(buffer-file-name).(get | 
| dfa0 | 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 29 20 70 | hash.(projectile-project-root).p | 
| dfc0 | 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 0a 20 20 20 20 20 | rojectile-projects-cache))...... | 
| dfe0 | 20 28 6c 65 74 2a 20 28 28 61 62 73 2d 63 75 72    72 65 6e 74 2d 66 69 6c 65 20 28 66 69 6c 65 2d | .(let*.((abs-current-file.(file- | 
| e000 | 74 72 75 65 6e 61 6d 65 20 28 62 75 66 66 65 72    2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20 | truename.(buffer-file-name)))... | 
| e020 | 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72    65 6e 74 2d 66 69 6c 65 20 28 66 69 6c 65 2d 72 | ...........(current-file.(file-r | 
| e040 | 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 61 62 73    2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 20 63 75 | elative-name.abs-current-file.cu | 
| e060 | 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 29 29 29    0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 | rrent-project))).........(unless | 
| e080 | 20 28 6f 72 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 66 69 6c 65 2d 63 61 63 68 65 64 2d 70 20 63 | .(or.(projectile-file-cached-p.c | 
| e0a0 | 75 72 72 65 6e 74 2d 66 69 6c 65 20 63 75 72 72    65 6e 74 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 | urrent-file.current-project).... | 
| e0c0 | 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 67 6e | .................(projectile-ign | 
| e0e0 | 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 70    20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 | ored-directory-p.(file-name-dire | 
| e100 | 63 74 6f 72 79 20 61 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 | ctory.abs-current-file))........ | 
| e120 | 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 72 65 64 | .............(projectile-ignored | 
| e140 | 2d 66 69 6c 65 2d 70 20 61 62 73 2d 63 75 72 72    65 6e 74 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 | -file-p.abs-current-file))...... | 
| e160 | 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f 6a    65 63 74 2d 66 69 6c 65 73 20 28 63 6f 6e 73 20 | .....(let.((project-files.(cons. | 
| e180 | 63 75 72 72 65 6e 74 2d 66 69 6c 65 20 28 67 65    74 68 61 73 68 20 63 75 72 72 65 6e 74 2d 70 72 | current-file.(gethash.current-pr | 
| e1a0 | 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) | 
| e1c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 63 68 65 2d 66 69 6c 65 20 28 | )).................(cache-file.( | 
| e1e0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 63 61 63 68 65 2d 66 69 6c 65 20 63 75 | projectile-project-cache-file.cu | 
| e200 | 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 | rrent-project))).............(pu | 
| e220 | 74 68 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 2d 66 69 | thash.current-project.project-fi | 
| e240 | 6c 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 | les.projectile-projects-cache).. | 
| e260 | 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 65    20 73 65 72 69 61 6c 69 7a 65 20 74 68 65 20 63 | ...........;;.we.serialize.the.c | 
| e280 | 61 63 68 65 20 77 69 74 68 20 61 6e 20 69 64 6c    65 20 74 69 6d 65 20 74 6f 20 61 76 6f 69 64 20 | ache.with.an.idle.time.to.avoid. | 
| e2a0 | 66 72 65 65 7a 69 6e 67 20 74 68 65 20 55 49 0a    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 | freezing.the.UI.............;;.i | 
| e2c0 | 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72    20 74 68 65 20 6e 65 77 20 66 69 6c 65 20 77 61 | mmediately.after.the.new.file.wa | 
| e2e0 | 73 20 63 72 65 61 74 65 64 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 77 68 65 6e 20 28 70 72 6f | s.created.............(when.(pro | 
| e300 | 6a 65 63 74 69 6c 65 2d 70 65 72 73 69 73 74 65    6e 74 2d 63 61 63 68 65 2d 70 29 0a 20 20 20 20 | jectile-persistent-cache-p)..... | 
| e320 | 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 77    69 74 68 2d 69 64 6c 65 2d 74 69 6d 65 72 0a 20 | ..........(run-with-idle-timer.. | 
| e340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 30    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............30................ | 
| e360 | 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 73 | nil................'projectile-s | 
| e380 | 65 72 69 61 6c 69 7a 65 20 70 72 6f 6a 65 63 74    2d 66 69 6c 65 73 20 63 61 63 68 65 2d 66 69 6c | erialize.project-files.cache-fil | 
| e3a0 | 65 29 29 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 | e)))...........(message."File.%s | 
| e3c0 | 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.".... | 
| e3e0 | 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 | 
| e400 | 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 | 
| e420 | 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 | 
| e440 | 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 | 
| e460 | 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)))))))..;;. | 
| e480 | 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 | 
| e4a0 | 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 | 
| e4c0 | 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 | 
| e4e0 | 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 | 
| e500 | 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 | 
| e520 | 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 | 
| e540 | 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))). | 
| e560 | 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 | 
| e580 | 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- | 
| e5a0 | 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 | 
| e5c0 | 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 | 
| e5e0 | 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 | 
| e600 | 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 | 
| e620 | 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 | 
| e640 | 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 | 
| e660 | 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' | 
| e680 | 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 | 
| e6a0 | 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 | 
| e6c0 | 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 | 
| e6e0 | 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 | 
| e700 | 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 | 
| e720 | 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.( | 
| e740 | 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 | 
| e760 | 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. | 
| e780 | 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- | 
| e7a0 | 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 | 
| e7c0 | 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)................... | 
| e7e0 | 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 | 
| e800 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 63 61 63 68    65 2d 66 69 6c 65 29 29 29 0a 20 20 20 20 28 70 | ile-project-cache-file))).....(p | 
| e820 | 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 76 61 6c 69    64 61 74 65 2d 63 61 63 68 65 20 6e 69 6c 29 29 | rojectile-invalidate-cache.nil)) | 
| e840 | 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 | 
| e860 | 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 64 69 72 65 63 74 6f | ile-discover-projects-in-directo | 
| e880 | 72 79 20 28 64 69 72 65 63 74 6f 72 79 20 26 6f    70 74 69 6f 6e 61 6c 20 64 65 70 74 68 29 0a 20 | ry.(directory.&optional.depth).. | 
| e8a0 | 20 22 44 69 73 63 6f 76 65 72 20 61 6e 79 20 70    72 6f 6a 65 63 74 73 20 69 6e 20 44 49 52 45 43 | ."Discover.any.projects.in.DIREC | 
| e8c0 | 54 4f 52 59 20 61 6e 64 20 61 64 64 20 74 68 65    6d 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 | TORY.and.add.them.to.the.project | 
| e8e0 | 69 6c 65 20 63 61 63 68 65 2e 0a 0a 49 66 20 44    45 50 54 48 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 | ile.cache...If.DEPTH.is.non-nil. | 
| e900 | 72 65 63 75 72 73 69 76 65 6c 79 20 64 65 73 63    65 6e 64 20 65 78 61 63 74 6c 79 20 44 45 50 54 | recursively.descend.exactly.DEPT | 
| e920 | 48 20 6c 65 76 65 6c 73 20 62 65 6c 6f 77 20 44    49 52 45 43 54 4f 52 59 20 61 6e 64 0a 64 69 73 | H.levels.below.DIRECTORY.and.dis | 
| e940 | 63 6f 76 65 72 20 70 72 6f 6a 65 63 74 73 20 74    68 65 72 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 | cover.projects.there."...(intera | 
| e960 | 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 20 28    72 65 61 64 2d 64 69 72 65 63 74 6f 72 79 2d 6e | ctive....(list.(read-directory-n | 
| e980 | 61 6d 65 20 22 53 74 61 72 74 69 6e 67 20 64 69    72 65 63 74 6f 72 79 3a 20 22 29 29 29 0a 0a 20 | ame."Starting.directory:.")))... | 
| e9a0 | 20 3b 3b 20 73 65 74 20 61 20 64 65 66 61 75 6c    74 20 76 61 6c 75 65 20 66 6f 72 20 64 65 70 74 | .;;.set.a.default.value.for.dept | 
| e9c0 | 68 0a 20 20 28 73 65 74 71 20 64 65 70 74 68 20    28 6f 72 20 64 65 70 74 68 20 31 29 29 0a 0a 20 | h...(setq.depth.(or.depth.1))... | 
| e9e0 | 20 28 69 66 20 28 66 69 6c 65 2d 64 69 72 65 63    74 6f 72 79 2d 70 20 64 69 72 65 63 74 6f 72 79 | .(if.(file-directory-p.directory | 
| ea00 | 29 0a 20 20 20 20 20 20 28 69 66 20 28 61 6e 64    20 28 6e 75 6d 62 65 72 70 20 64 65 70 74 68 29 | ).......(if.(and.(numberp.depth) | 
| ea20 | 20 28 3e 20 64 65 70 74 68 20 30 29 29 0a 20 20    20 20 20 20 20 20 20 20 3b 3b 20 49 67 6e 6f 72 | .(>.depth.0))...........;;.Ignor | 
| ea40 | 65 20 65 72 72 6f 72 73 20 77 68 65 6e 20 6c 69    73 74 69 6e 67 20 66 69 6c 65 73 20 69 6e 20 74 | e.errors.when.listing.files.in.t | 
| ea60 | 68 65 20 64 69 72 65 63 74 6f 72 79 2c 20 62 65    63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 | he.directory,.because........... | 
| ea80 | 3b 3b 20 73 6f 6d 65 74 69 6d 65 73 20 74 68 61    74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 61 | ;;.sometimes.that.directory.is.a | 
| eaa0 | 6e 20 75 6e 72 65 61 64 61 62 6c 65 20 6f 6e 65    20 61 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 | n.unreadable.one.at.the.root.of. | 
| eac0 | 61 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 76    6f 6c 75 6d 65 2e 20 54 68 69 73 20 69 73 20 74 | a...........;;.volume..This.is.t | 
| eae0 | 68 65 20 63 61 73 65 2c 20 66 6f 72 20 65 78 61    6d 70 6c 65 2c 20 6f 6e 20 6d 61 63 4f 53 20 77 | he.case,.for.example,.on.macOS.w | 
| eb00 | 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20    20 20 3b 3b 20 2e 53 70 6f 74 6c 69 67 68 74 2d | ith.the...........;;..Spotlight- | 
| eb20 | 56 31 30 30 20 64 69 72 65 63 74 6f 72 79 2e 0a    20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 | V100.directory............(let.( | 
| eb40 | 28 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 | (progress-reporter.............. | 
| eb60 | 20 20 20 20 28 6d 61 6b 65 2d 70 72 6f 67 72 65    73 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 20 | ....(make-progress-reporter..... | 
| eb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    6f 72 6d 61 74 20 22 50 72 6f 6a 65 63 74 69 6c | ..............(format."Projectil | 
| eba0 | 65 20 69 73 20 64 69 73 63 6f 76 65 72 69 6e 67    20 70 72 6f 6a 65 63 74 73 20 69 6e 20 25 73 2e | e.is.discovering.projects.in.%s. | 
| ebc0 | 2e 2e 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 28 70 | .."...........................(p | 
| ebe0 | 72 6f 70 65 72 74 69 7a 65 20 64 69 72 65 63 74    6f 72 79 20 27 66 61 63 65 20 27 66 6f 6e 74 2d | ropertize.directory.'face.'font- | 
| ec00 | 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63    65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | lock-keyword-face))))).......... | 
| ec20 | 20 20 20 28 70 72 6f 67 72 65 73 73 2d 72 65 70    6f 72 74 65 72 2d 75 70 64 61 74 65 20 70 72 6f | ...(progress-reporter-update.pro | 
| ec40 | 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c | gress-reporter).............(dol | 
| ec60 | 69 73 74 20 28 64 69 72 20 28 69 67 6e 6f 72 65    2d 65 72 72 6f 72 73 20 28 64 69 72 65 63 74 6f | ist.(dir.(ignore-errors.(directo | 
| ec80 | 72 79 2d 66 69 6c 65 73 20 64 69 72 65 63 74 6f    72 79 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 | ry-files.directory.t)))......... | 
| eca0 | 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64    20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 | ......(when.(and.(file-directory | 
| ecc0 | 2d 70 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 | -p.dir)......................... | 
| ece0 | 20 28 6e 6f 74 20 28 6d 65 6d 62 65 72 20 28 66    69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 | .(not.(member.(file-name-nondire | 
| ed00 | 63 74 6f 72 79 20 64 69 72 29 20 27 28 22 2e 2e    22 20 22 2e 22 29 29 29 29 0a 20 20 20 20 20 20 | ctory.dir).'(".."."."))))....... | 
| ed20 | 20 20 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 | ..........(projectile-discover-p | 
| ed40 | 72 6f 6a 65 63 74 73 2d 69 6e 2d 64 69 72 65 63    74 6f 72 79 20 64 69 72 20 28 31 2d 20 64 65 70 | rojects-in-directory.dir.(1-.dep | 
| ed60 | 74 68 29 29 29 29 0a 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 | th)))).............(progress-rep | 
| ed80 | 6f 72 74 65 72 2d 64 6f 6e 65 20 70 72 6f 67 72    65 73 73 2d 72 65 70 6f 72 74 65 72 29 29 0a 20 | orter-done.progress-reporter)).. | 
| eda0 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | .......(when.(projectile-project | 
| edc0 | 2d 70 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20    20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 | -p.directory)...........(let.((d | 
| ede0 | 69 72 20 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 | ir.(abbreviate-file-name.(projec | 
| ee00 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 20 64 69 72 65 63 74 6f 72 79 29 29 29 29 0a | tile-project-root.directory)))). | 
| ee20 | 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c    65 73 73 20 28 6d 65 6d 62 65 72 20 64 69 72 20 | ............(unless.(member.dir. | 
| ee40 | 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 20 20 | projectile-known-projects)...... | 
| ee60 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 61 64 64 2d 6b 6e 6f 77 6e 2d 70 | .........(projectile-add-known-p | 
| ee80 | 72 6f 6a 65 63 74 20 64 69 72 29 29 29 29 29 0a    20 20 20 20 28 6d 65 73 73 61 67 65 20 22 50 72 | roject.dir))))).....(message."Pr | 
| eea0 | 6f 6a 65 63 74 20 73 65 61 72 63 68 20 70 61 74    68 20 64 69 72 65 63 74 6f 72 79 20 25 73 20 64 | oject.search.path.directory.%s.d | 
| eec0 | 6f 65 73 6e 27 74 20 65 78 69 73 74 22 20 64 69    72 65 63 74 6f 72 79 29 29 29 0a 0a 3b 3b 3b 23 | oesn't.exist".directory)))..;;;# | 
| eee0 | 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 64 69 73 | ##autoload.(defun.projectile-dis | 
| ef00 | 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 20 28 29 | cover-projects-in-search-path.() | 
| ef20 | 0a 20 20 22 44 69 73 63 6f 76 65 72 20 70 72 6f    6a 65 63 74 73 20 69 6e 20 60 70 72 6f 6a 65 63 | ..."Discover.projects.in.`projec | 
| ef40 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 73 65 61    72 63 68 2d 70 61 74 68 27 2e 0a 49 6e 76 6f 6b | tile-project-search-path'..Invok | 
| ef60 | 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79    20 77 68 65 6e 20 60 70 72 6f 6a 65 63 74 69 6c | ed.automatically.when.`projectil | 
| ef80 | 65 2d 6d 6f 64 65 27 20 69 73 20 65 6e 61 62 6c    65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | e-mode'.is.enabled."...(interact | 
| efa0 | 69 76 65 29 0a 20 20 28 64 6f 6c 69 73 74 20 28    70 61 74 68 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ive)...(dolist.(path.projectile- | 
| efc0 | 70 72 6f 6a 65 63 74 2d 73 65 61 72 63 68 2d 70    61 74 68 29 0a 20 20 20 20 28 69 66 20 28 63 6f | project-search-path).....(if.(co | 
| efe0 | 6e 73 70 20 70 61 74 68 29 0a 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 | nsp.path).........(projectile-di | 
| f000 | 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 20 28 63 61 | scover-projects-in-directory.(ca | 
| f020 | 72 20 70 61 74 68 29 20 28 63 64 72 20 70 61 74    68 29 29 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 | r.path).(cdr.path)).......(proje | 
| f040 | 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 64 69 72 65 63 | ctile-discover-projects-in-direc | 
| f060 | 74 6f 72 79 20 70 61 74 68 20 31 29 29 29 29 0a    0a 0c 0a 28 64 65 66 75 6e 20 64 65 6c 65 74 65 | tory.path.1))))....(defun.delete | 
| f080 | 2d 66 69 6c 65 2d 70 72 6f 6a 65 63 74 69 6c 65    2d 72 65 6d 6f 76 65 2d 66 72 6f 6d 2d 63 61 63 | -file-projectile-remove-from-cac | 
| f0a0 | 68 65 20 28 66 69 6c 65 6e 61 6d 65 20 26 6f 70    74 69 6f 6e 61 6c 20 5f 74 72 61 73 68 29 0a 20 | he.(filename.&optional._trash).. | 
| f0c0 | 20 28 69 66 20 28 61 6e 64 20 70 72 6f 6a 65 63    74 69 6c 65 2d 65 6e 61 62 6c 65 2d 63 61 63 68 | .(if.(and.projectile-enable-cach | 
| f0e0 | 69 6e 67 20 70 72 6f 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 | ing.projectile-auto-update-cache | 
| f100 | 20 28 70 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 20 20 28 | .(projectile-project-p)).......( | 
| f120 | 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 69 6c 65 2d | let*.((project-root.(projectile- | 
| f140 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 75 | project-root))..............(tru | 
| f160 | 65 2d 66 69 6c 65 6e 61 6d 65 20 28 66 69 6c 65    2d 74 72 75 65 6e 61 6d 65 20 66 69 6c 65 6e 61 | e-filename.(file-truename.filena | 
| f180 | 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 | me))..............(relative-file | 
| f1a0 | 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 74 72 75 65 2d 66 69 | name.(file-relative-name.true-fi | 
| f1c0 | 6c 65 6e 61 6d 65 20 70 72 6f 6a 65 63 74 2d 72    6f 6f 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 | lename.project-root))).........( | 
| f1e0 | 69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6c 65 2d 63 61 63 68 65 64 2d 70 20 72 65 6c | if.(projectile-file-cached-p.rel | 
| f200 | 61 74 69 76 65 2d 66 69 6c 65 6e 61 6d 65 20 70    72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 20 | ative-filename.project-root).... | 
| f220 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 70 75 72 67 65 2d 66 69 6c 65 2d | .........(projectile-purge-file- | 
| f240 | 66 72 6f 6d 2d 63 61 63 68 65 20 72 65 6c 61 74    69 76 65 2d 66 69 6c 65 6e 61 6d 65 29 29 29 29 | from-cache.relative-filename)))) | 
| f260 | 29 0a 0a 0c 0a 3b 3b 3b 20 50 72 6f 6a 65 63 74    20 72 6f 6f 74 20 72 65 6c 61 74 65 64 20 75 74 | )....;;;.Project.root.related.ut | 
| f280 | 69 6c 69 74 69 65 73 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 70 61 72 65 6e 74 | ilities.(defun.projectile-parent | 
| f2a0 | 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72    6e 20 74 68 65 20 70 61 72 65 6e 74 20 64 69 72 | .(path)..."Return.the.parent.dir | 
| f2c0 | 65 63 74 6f 72 79 20 6f 66 20 50 41 54 48 2e 0a    50 41 54 48 20 6d 61 79 20 62 65 20 61 20 66 69 | ectory.of.PATH..PATH.may.be.a.fi | 
| f2e0 | 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20    61 6e 64 20 64 69 72 65 63 74 6f 72 79 20 70 61 | le.or.directory.and.directory.pa | 
| f300 | 74 68 73 20 6d 61 79 20 65 6e 64 20 77 69 74 68    20 61 20 73 6c 61 73 68 2e 22 0a 20 20 28 64 69 | ths.may.end.with.a.slash."...(di | 
| f320 | 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 65 2d 64 69 72 | rectory-file-name.(file-name-dir | 
| f340 | 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 6d 65 20 28 65 78 70 | ectory.(directory-file-name.(exp | 
| f360 | 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 61    74 68 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | and-file-name.path)))))..(defun. | 
| f380 | 70 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 | projectile-locate-dominating-fil | 
| f3a0 | 65 20 28 66 69 6c 65 20 6e 61 6d 65 29 0a 20 20    22 4c 6f 6f 6b 20 75 70 20 74 68 65 20 64 69 72 | e.(file.name)..."Look.up.the.dir | 
| f3c0 | 65 63 74 6f 72 79 20 68 69 65 72 61 72 63 68 79    20 66 72 6f 6d 20 46 49 4c 45 20 66 6f 72 20 61 | ectory.hierarchy.from.FILE.for.a | 
| f3e0 | 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61    69 6e 69 6e 67 20 4e 41 4d 45 2e 0a 53 74 6f 70 | .directory.containing.NAME..Stop | 
| f400 | 20 61 74 20 74 68 65 20 66 69 72 73 74 20 70 61    72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 63 | .at.the.first.parent.directory.c | 
| f420 | 6f 6e 74 61 69 6e 69 6e 67 20 61 20 66 69 6c 65    20 4e 41 4d 45 2c 0a 61 6e 64 20 72 65 74 75 72 | ontaining.a.file.NAME,.and.retur | 
| f440 | 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 2e    20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 | n.the.directory...Return.nil.if. | 
| f460 | 6e 6f 74 20 66 6f 75 6e 64 2e 0a 49 6e 73 74 65    61 64 20 6f 66 20 61 20 73 74 72 69 6e 67 2c 20 | not.found..Instead.of.a.string,. | 
| f480 | 4e 41 4d 45 20 63 61 6e 20 61 6c 73 6f 20 62 65    20 61 20 70 72 65 64 69 63 61 74 65 20 74 61 6b | NAME.can.also.be.a.predicate.tak | 
| f4a0 | 69 6e 67 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74    0a 5c 28 61 20 64 69 72 65 63 74 6f 72 79 29 20 | ing.one.argument.\(a.directory). | 
| f4c0 | 61 6e 64 20 72 65 74 75 72 6e 69 6e 67 20 61 20    6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 69 66 | and.returning.a.non-nil.value.if | 
| f4e0 | 20 74 68 61 74 20 64 69 72 65 63 74 6f 72 79 20    69 73 20 74 68 65 20 6f 6e 65 20 66 6f 72 0a 77 | .that.directory.is.the.one.for.w | 
| f500 | 68 69 63 68 20 77 65 27 72 65 20 6c 6f 6f 6b 69    6e 67 2e 22 0a 20 20 3b 3b 20 63 6f 70 69 65 64 | hich.we're.looking."...;;.copied | 
| f520 | 20 66 72 6f 6d 20 66 69 6c 65 73 2e 65 6c 20 28    73 74 72 69 70 70 65 64 20 63 6f 6d 6d 65 6e 74 | .from.files.el.(stripped.comment | 
| f540 | 73 29 20 65 6d 61 63 73 2d 32 34 20 62 7a 72 20    62 72 61 6e 63 68 20 32 30 31 34 2d 30 33 2d 32 | s).emacs-24.bzr.branch.2014-03-2 | 
| f560 | 38 20 31 30 3a 32 30 0a 20 20 28 73 65 74 71 20    66 69 6c 65 20 28 61 62 62 72 65 76 69 61 74 65 | 8.10:20...(setq.file.(abbreviate | 
| f580 | 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29    29 0a 20 20 28 6c 65 74 20 28 28 72 6f 6f 74 20 | -file-name.file))...(let.((root. | 
| f5a0 | 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 74 72 79    29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f | nil).........try).....(while.(no | 
| f5c0 | 74 20 28 6f 72 20 72 6f 6f 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | t.(or.root.....................( | 
| f5e0 | 6e 75 6c 6c 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 20 28 | null.file).....................( | 
| f600 | 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 6c 6f 63    61 74 65 2d 64 6f 6d 69 6e 61 74 69 6e 67 2d 73 | string-match.locate-dominating-s | 
| f620 | 74 6f 70 2d 64 69 72 2d 72 65 67 65 78 70 20 66    69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 | top-dir-regexp.file))).......(se | 
| f640 | 74 71 20 74 72 79 20 28 69 66 20 28 73 74 72 69    6e 67 70 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 | tq.try.(if.(stringp.name)....... | 
| f660 | 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 69 6c 65 2d 65 | ..............(projectile-file-e | 
| f680 | 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 65 2d | xists-p.(projectile-expand-file- | 
| f6a0 | 6e 61 6d 65 2d 77 69 6c 64 63 61 72 64 20 6e 61    6d 65 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 | name-wildcard.name.file))....... | 
| f6c0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e    63 61 6c 6c 20 6e 61 6d 65 20 66 69 6c 65 29 29 | ............(funcall.name.file)) | 
| f6e0 | 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 74    72 79 20 28 73 65 74 71 20 72 6f 6f 74 20 66 69 | ).......(cond.(try.(setq.root.fi | 
| f700 | 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 28 65 71 75 61 6c 20 66 69 6c 65 20 28 73 | le)).............((equal.file.(s | 
| f720 | 65 74 71 20 66 69 6c 65 20 28 66 69 6c 65 2d 6e    61 6d 65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 | etq.file.(file-name-directory... | 
| f740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| f760 | 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 29 29 29 | ...(directory-file-name.file)))) | 
| f780 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 66 69 6c 65 20 6e 69 6c 29 29 29 29 | ..............(setq.file.nil)))) | 
| f7a0 | 0a 20 20 20 20 28 61 6e 64 20 72 6f 6f 74 20 28    65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 | .....(and.root.(expand-file-name | 
| f7c0 | 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 72 6f 6f 74 29 29 29 | .(file-name-as-directory.root))) | 
| f7e0 | 29 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61    6c 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | ))..(defvar-local.projectile-pro | 
| f800 | 6a 65 63 74 2d 72 6f 6f 74 20 6e 69 6c 0a 20 20    22 44 65 66 69 6e 65 73 20 61 20 63 75 73 74 6f | ject-root.nil..."Defines.a.custo | 
| f820 | 6d 20 50 72 6f 6a 65 63 74 69 6c 65 20 70 72 6f    6a 65 63 74 20 72 6f 6f 74 2e 0a 54 68 69 73 20 | m.Projectile.project.root..This. | 
| f840 | 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62    65 20 75 73 65 64 20 61 73 20 61 20 66 69 6c 65 | is.intended.to.be.used.as.a.file | 
| f860 | 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 2e    22 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | .local.variable.")..(defun.proje | 
| f880 | 63 74 69 6c 65 2d 72 6f 6f 74 2d 6c 6f 63 61 6c    20 28 5f 64 69 72 29 0a 20 20 22 41 20 73 69 6d | ctile-root-local.(_dir)..."A.sim | 
| f8a0 | 70 6c 65 20 77 72 61 70 70 65 72 20 61 72 6f 75    6e 64 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 | ple.wrapper.around.the.variable. | 
| f8c0 | 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 0a 20 20 70 72 | `projectile-project-root'."...pr | 
| f8e0 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 72 6f 6f 74 29 0a 0a 28 64 65 66 75 6e 20 70 | ojectile-project-root)..(defun.p | 
| f900 | 72 6f 6a 65 63 74 69 6c 65 2d 72 6f 6f 74 2d 74    6f 70 2d 64 6f 77 6e 20 28 64 69 72 20 26 6f 70 | rojectile-root-top-down.(dir.&op | 
| f920 | 74 69 6f 6e 61 6c 20 6c 69 73 74 29 0a 20 20 22    49 64 65 6e 74 69 66 79 20 61 20 70 72 6f 6a 65 | tional.list)..."Identify.a.proje | 
| f940 | 63 74 20 72 6f 6f 74 20 69 6e 20 44 49 52 20 62    79 20 74 6f 70 2d 64 6f 77 6e 20 73 65 61 72 63 | ct.root.in.DIR.by.top-down.searc | 
| f960 | 68 20 66 6f 72 20 66 69 6c 65 73 20 69 6e 20 4c    49 53 54 2e 0a 49 66 20 4c 49 53 54 20 69 73 20 | h.for.files.in.LIST..If.LIST.is. | 
| f980 | 6e 69 6c 2c 20 75 73 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 | nil,.use.`projectile-project-roo | 
| f9a0 | 74 2d 66 69 6c 65 73 27 20 69 6e 73 74 65 61 64    2e 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 | t-files'.instead..Return.the.fir | 
| f9c0 | 73 74 20 28 74 6f 70 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 | st.(topmost).matched.directory.o | 
| f9e0 | 72 20 6e 69 6c 20 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 | r.nil.if.not.found."...(projecti | 
| fa00 | 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 0a 20 20 20 64 69 72 | le-locate-dominating-file....dir | 
| fa20 | 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 64 69 72    29 0a 20 20 20 20 20 28 63 6c 2d 66 69 6e 64 2d | ....(lambda.(dir)......(cl-find- | 
| fa40 | 69 66 20 28 6c 61 6d 62 64 61 20 28 66 29 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d | if.(lambda.(f).(projectile-file- | 
| fa60 | 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 65 | exists-p.(projectile-expand-file | 
| fa80 | 2d 6e 61 6d 65 2d 77 69 6c 64 63 61 72 64 20 66    20 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 | -name-wildcard.f.dir)))......... | 
| faa0 | 20 20 20 20 20 20 20 20 20 28 6f 72 20 6c 69 73    74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | .........(or.list.projectile-pro | 
| fac0 | 6a 65 63 74 2d 72 6f 6f 74 2d 66 69 6c 65 73 29    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | ject-root-files)))))..(defun.pro | 
| fae0 | 6a 65 63 74 69 6c 65 2d 72 6f 6f 74 2d 6d 61 72    6b 65 64 20 28 64 69 72 29 0a 20 20 22 49 64 65 | jectile-root-marked.(dir)..."Ide | 
| fb00 | 6e 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 73 | ntify.a.project.root.in.DIR.by.s | 
| fb20 | 65 61 72 63 68 20 66 6f 72 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 64 69 72 63 6f 6e 66 69 67 2d | earch.for.`projectile-dirconfig- | 
| fb40 | 66 69 6c 65 60 2e 22 0a 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 72 6f 6f 74 2d 62 6f 74 74 6f | file`."...(projectile-root-botto | 
| fb60 | 6d 2d 75 70 20 64 69 72 20 28 6c 69 73 74 20 70    72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 63 6f 6e | m-up.dir.(list.projectile-dircon | 
| fb80 | 66 69 67 2d 66 69 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 72 | fig-file)))..(defun.projectile-r | 
| fba0 | 6f 6f 74 2d 62 6f 74 74 6f 6d 2d 75 70 20 28 64    69 72 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 73 | oot-bottom-up.(dir.&optional.lis | 
| fbc0 | 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 | 
| fbe0 | 20 44 49 52 20 62 79 20 62 6f 74 74 6f 6d 2d 75    70 20 73 65 61 72 63 68 20 66 6f 72 20 66 69 6c | .DIR.by.bottom-up.search.for.fil | 
| fc00 | 65 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 | es.in.LIST..If.LIST.is.nil,.use. | 
| fc20 | 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 69 6c 65 73 2d 62 | `projectile-project-root-files-b | 
| fc40 | 6f 74 74 6f 6d 2d 75 70 27 20 69 6e 73 74 65 61    64 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 | ottom-up'.instead..Return.the.fi | 
| fc60 | 72 73 74 20 28 62 6f 74 74 6f 6d 6d 6f 73 74 29    20 6d 61 74 63 68 65 64 20 64 69 72 65 63 74 6f | rst.(bottommost).matched.directo | 
| fc80 | 72 79 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 74    20 66 6f 75 6e 64 2e 22 0a 20 20 28 70 72 6f 6a | ry.or.nil.if.not.found."...(proj | 
| fca0 | 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 0a 20 20 | ectile-locate-dominating-file... | 
| fcc0 | 20 64 69 72 0a 20 20 20 28 6c 61 6d 62 64 61 20    28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 | .dir....(lambda.(directory)..... | 
| fce0 | 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 6d    61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 | .(let.((files.(mapcar.(lambda.(f | 
| fd00 | 69 6c 65 29 20 28 65 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 | ile).(expand-file-name.file.dire | 
| fd20 | 63 74 6f 72 79 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 | ctory))......................... | 
| fd40 | 20 20 28 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 | ..(or.list.projectile-project-ro | 
| fd60 | 6f 74 2d 66 69 6c 65 73 2d 62 6f 74 74 6f 6d 2d    75 70 29 29 29 29 0a 20 20 20 20 20 20 20 28 63 | ot-files-bottom-up))))........(c | 
| fd80 | 6c 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28    66 69 6c 65 29 20 28 61 6e 64 20 66 69 6c 65 20 | l-some.(lambda.(file).(and.file. | 
| fda0 | 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66    69 6c 65 29 29 29 20 66 69 6c 65 73 29 29 29 29 | (file-exists-p.file))).files)))) | 
| fdc0 | 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 74 6f 70 2d 64 6f | )..(defun.projectile-root-top-do | 
| fde0 | 77 6e 2d 72 65 63 75 72 72 69 6e 67 20 28 64 69    72 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 73 74 | wn-recurring.(dir.&optional.list | 
| fe00 | 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 20 | )..."Identify.a.project.root.in. | 
| fe20 | 44 49 52 20 62 79 20 72 65 63 75 72 72 69 6e 67    20 74 6f 70 2d 64 6f 77 6e 20 73 65 61 72 63 68 | DIR.by.recurring.top-down.search | 
| fe40 | 20 66 6f 72 20 66 69 6c 65 73 20 69 6e 20 4c 49    53 54 2e 0a 49 66 20 4c 49 53 54 20 69 73 20 6e | .for.files.in.LIST..If.LIST.is.n | 
| fe60 | 69 6c 2c 20 75 73 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 | il,.use.`projectile-project-root | 
| fe80 | 2d 66 69 6c 65 73 2d 74 6f 70 2d 64 6f 77 6e 2d    72 65 63 75 72 72 69 6e 67 27 0a 69 6e 73 74 65 | -files-top-down-recurring'.inste | 
| fea0 | 61 64 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20    6c 61 73 74 20 28 62 6f 74 74 6f 6d 6d 6f 73 74 | ad...Return.the.last.(bottommost | 
| fec0 | 29 20 6d 61 74 63 68 65 64 20 64 69 72 65 63 74    6f 72 79 20 69 6e 20 74 68 65 0a 74 6f 70 6d 6f | ).matched.directory.in.the.topmo | 
| fee0 | 73 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 6d    61 74 63 68 65 64 20 64 69 72 65 63 74 6f 72 69 | st.sequence.of.matched.directori | 
| ff00 | 65 73 2e 20 20 4e 69 6c 20 6f 74 68 65 72 77 69    73 65 2e 22 0a 20 20 28 63 6c 2d 73 6f 6d 65 0a | es...Nil.otherwise."...(cl-some. | 
| ff20 | 20 20 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ...(lambda.(f)......(projectile- | 
| ff40 | 6c 6f 63 61 74 65 2d 64 6f 6d 69 6e 61 74 69 6e    67 2d 66 69 6c 65 0a 20 20 20 20 20 20 64 69 72 | locate-dominating-file.......dir | 
| ff60 | 0a 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 28 61 6e | .......(lambda.(dir).........(an | 
| ff80 | 64 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 72 6f | d.(projectile-file-exists-p.(pro | 
| ffa0 | 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 61 72 | jectile-expand-file-name-wildcar | 
| ffc0 | 64 20 66 20 64 69 72 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6f 72 20 28 73 74 72 69 | d.f.dir))..............(or.(stri | 
| ffe0 | 6e 67 2d 6d 61 74 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 | ng-match.locate-dominating-stop- | 
| 10000 | 64 69 72 2d 72 65 67 65 78 70 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 70 61 72 65 6e 74 20 64 69 | dir-regexp.(projectile-parent.di | 
| 10020 | 72 29 29 0a 20 20 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 | r))..................(not.(proje | 
| 10040 | 63 74 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 | ctile-file-exists-p.(projectile- | 
| 10060 | 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 20 66 20 28 70 72 6f | expand-file-name-wildcard.f.(pro | 
| 10080 | 6a 65 63 74 69 6c 65 2d 70 61 72 65 6e 74 20 64    69 72 29 29 29 29 29 29 29 29 29 0a 20 20 20 28 | jectile-parent.dir)))))))))....( | 
| 100a0 | 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- | 
| 100c0 | 66 69 6c 65 73 2d 74 6f 70 2d 64 6f 77 6e 2d 72    65 63 75 72 72 69 6e 67 29 29 29 0a 0a 28 64 65 | files-top-down-recurring)))..(de | 
| 100e0 | 66 75 6e 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 28 26 6f 70 | fun.projectile-project-root.(&op | 
| 10100 | 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 52    65 74 72 69 65 76 65 73 20 74 68 65 20 72 6f 6f | tional.dir)..."Retrieves.the.roo | 
| 10120 | 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 61    20 70 72 6f 6a 65 63 74 20 69 66 20 61 76 61 69 | t.directory.of.a.project.if.avai | 
| 10140 | 6c 61 62 6c 65 2e 0a 49 66 20 44 49 52 20 69 73    20 6e 6f 74 20 73 75 70 70 6c 69 65 64 20 69 74 | lable..If.DIR.is.not.supplied.it | 
| 10160 | 73 20 73 65 74 20 74 6f 20 74 68 65 20 63 75 72    72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 62 | s.set.to.the.current.directory.b | 
| 10180 | 79 20 64 65 66 61 75 6c 74 2e 22 0a 20 20 28 6c    65 74 20 28 28 64 69 72 20 28 6f 72 20 64 69 72 | y.default."...(let.((dir.(or.dir | 
| 101a0 | 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 3b 3b 20 42 61 63 | .default-directory))).....;;.Bac | 
| 101c0 | 6b 20 6f 75 74 20 6f 66 20 61 6e 79 20 61 72 63    68 69 76 65 73 2c 20 74 68 65 20 70 72 6f 6a 65 | k.out.of.any.archives,.the.proje | 
| 101e0 | 63 74 20 77 69 6c 6c 20 6c 69 76 65 20 6f 6e 20    74 68 65 20 6f 75 74 73 69 64 65 20 61 6e 64 0a | ct.will.live.on.the.outside.and. | 
| 10200 | 20 20 20 20 3b 3b 20 73 65 61 72 63 68 69 6e 67    20 74 68 65 6d 20 69 73 20 73 6c 6f 77 2e 0a 20 | ....;;.searching.them.is.slow... | 
| 10220 | 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 66    62 6f 75 6e 64 70 20 27 74 72 61 6d 70 2d 61 72 | ...(when.(and.(fboundp.'tramp-ar | 
| 10240 | 63 68 69 76 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d    61 72 63 68 69 76 65 29 0a 20 20 20 20 20 20 20 | chive-file-name-archive)........ | 
| 10260 | 20 20 20 20 20 20 20 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 | ........(tramp-archive-file-name | 
| 10280 | 2d 70 20 64 69 72 29 29 0a 20 20 20 20 20 20 28    73 65 74 71 20 64 69 72 20 28 66 69 6c 65 2d 6e | -p.dir)).......(setq.dir.(file-n | 
| 102a0 | 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 74    72 61 6d 70 2d 61 72 63 68 69 76 65 2d 66 69 6c | ame-directory.(tramp-archive-fil | 
| 102c0 | 65 2d 6e 61 6d 65 2d 61 72 63 68 69 76 65 20 64    69 72 29 29 29 29 0a 20 20 20 20 3b 3b 20 74 68 | e-name-archive.dir)))).....;;.th | 
| 102e0 | 65 20 63 61 63 68 65 64 20 76 61 6c 75 65 20 77    69 6c 6c 20 62 65 20 27 6e 6f 6e 65 20 69 6e 20 | e.cached.value.will.be.'none.in. | 
| 10300 | 74 68 65 20 63 61 73 65 20 6f 66 20 6e 6f 20 70    72 6f 6a 65 63 74 20 72 6f 6f 74 20 28 74 68 69 | the.case.of.no.project.root.(thi | 
| 10320 | 73 20 69 73 20 74 6f 0a 20 20 20 20 3b 3b 20 65    6e 73 75 72 65 20 69 74 20 69 73 20 6e 6f 74 20 | s.is.to.....;;.ensure.it.is.not. | 
| 10340 | 72 65 65 76 61 6c 75 61 74 65 64 20 65 61 63 68    20 74 69 6d 65 20 77 68 65 6e 20 6e 6f 74 20 69 | reevaluated.each.time.when.not.i | 
| 10360 | 6e 73 69 64 65 20 61 20 70 72 6f 6a 65 63 74 29    20 73 6f 20 75 73 65 0a 20 20 20 20 3b 3b 20 63 | nside.a.project).so.use.....;;.c | 
| 10380 | 6c 2d 73 75 62 73 74 20 74 6f 20 72 65 70 6c 61    63 65 20 74 68 69 73 20 27 6e 6f 6e 65 20 76 61 | l-subst.to.replace.this.'none.va | 
| 103a0 | 6c 75 65 20 77 69 74 68 20 6e 69 6c 20 73 6f 20    61 20 6e 69 6c 20 76 61 6c 75 65 20 69 73 20 75 | lue.with.nil.so.a.nil.value.is.u | 
| 103c0 | 73 65 64 0a 20 20 20 20 3b 3b 20 69 6e 73 74 65    61 64 0a 20 20 20 20 28 63 6c 2d 73 75 62 73 74 | sed.....;;.instead.....(cl-subst | 
| 103e0 | 20 6e 69 6c 20 27 6e 6f 6e 65 0a 20 20 20 20 20    20 28 6f 72 0a 20 20 20 20 20 20 20 3b 3b 20 69 | .nil.'none.......(or........;;.i | 
| 10400 | 66 20 77 65 27 76 65 20 61 6c 72 65 61 64 79 20    66 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 20 61 | f.we've.already.failed.to.find.a | 
| 10420 | 20 70 72 6f 6a 65 63 74 20 64 69 72 20 66 6f 72    20 74 68 69 73 0a 20 20 20 20 20 20 20 3b 3b 20 | .project.dir.for.this........;;. | 
| 10440 | 64 69 72 2c 20 61 6e 64 20 63 61 63 68 65 64 20    74 68 61 74 20 66 61 69 6c 75 72 65 2c 20 64 6f | dir,.and.cached.that.failure,.do | 
| 10460 | 6e 27 74 20 72 65 63 6f 6d 70 75 74 65 0a 20 20    20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 61 63 | n't.recompute........(let*.((cac | 
| 10480 | 68 65 2d 6b 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 | he-key.(format."projectilerootle | 
| 104a0 | 73 73 2d 25 73 22 20 64 69 72 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 63 61 63 68 | ss-%s".dir))...............(cach | 
| 104c0 | 65 2d 76 61 6c 75 65 20 28 67 65 74 68 61 73 68    20 63 61 63 68 65 2d 6b 65 79 20 70 72 6f 6a 65 | e-value.(gethash.cache-key.proje | 
| 104e0 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 2d 63 61 63 68 65 29 29 29 0a 20 20 20 20 | ctile-project-root-cache)))..... | 
| 10500 | 20 20 20 20 20 63 61 63 68 65 2d 76 61 6c 75 65    29 0a 20 20 20 20 20 20 20 3b 3b 20 69 66 20 74 | .....cache-value)........;;.if.t | 
| 10520 | 68 65 20 66 69 6c 65 20 69 73 6e 27 74 20 6c 6f    63 61 6c 2c 20 61 6e 64 20 77 65 27 72 65 20 6e | he.file.isn't.local,.and.we're.n | 
| 10540 | 6f 74 20 63 6f 6e 6e 65 63 74 65 64 2c 20 64 6f    6e 27 74 20 74 72 79 20 74 6f 0a 20 20 20 20 20 | ot.connected,.don't.try.to...... | 
| 10560 | 20 20 3b 3b 20 66 69 6e 64 20 61 20 72 6f 6f 74    20 6e 6f 77 20 6e 6f 77 2c 20 62 75 74 20 64 6f | ..;;.find.a.root.now.now,.but.do | 
| 10580 | 6e 27 74 20 63 61 63 68 65 20 66 61 69 6c 75 72    65 2c 20 61 73 20 77 65 20 6d 69 67 68 74 0a 20 | n't.cache.failure,.as.we.might.. | 
| 105a0 | 20 20 20 20 20 20 3b 3b 20 72 65 2d 63 6f 6e 6e    65 63 74 2e 20 20 54 68 65 20 60 69 73 2d 6c 6f | ......;;.re-connect...The.`is-lo | 
| 105c0 | 63 61 6c 27 20 61 6e 64 20 60 69 73 2d 63 6f 6e    6e 65 63 74 65 64 27 20 76 61 72 69 61 62 6c 65 | cal'.and.`is-connected'.variable | 
| 105e0 | 73 20 61 72 65 0a 20 20 20 20 20 20 20 3b 3b 20    75 73 65 64 20 74 6f 20 66 69 78 20 74 68 65 20 | s.are........;;.used.to.fix.the. | 
| 10600 | 62 65 68 61 76 69 6f 72 20 77 68 65 72 65 20 45    6d 61 63 73 20 68 61 6e 67 73 20 62 65 63 61 75 | behavior.where.Emacs.hangs.becau | 
| 10620 | 73 65 20 6f 66 0a 20 20 20 20 20 20 20 3b 3b 20    50 72 6f 6a 65 63 74 69 6c 65 20 77 68 65 6e 20 | se.of........;;.Projectile.when. | 
| 10640 | 79 6f 75 20 6f 70 65 6e 20 61 20 66 69 6c 65 20    6f 76 65 72 20 54 52 41 4d 50 2e 20 49 74 20 62 | you.open.a.file.over.TRAMP..It.b | 
| 10660 | 61 73 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20    3b 3b 20 70 72 65 76 65 6e 74 73 20 50 72 6f 6a | asically........;;.prevents.Proj | 
| 10680 | 65 63 74 69 6c 65 20 66 72 6f 6d 20 74 72 79 69    6e 67 20 74 6f 20 66 69 6e 64 20 69 6e 66 6f 72 | ectile.from.trying.to.find.infor | 
| 106a0 | 6d 61 74 69 6f 6e 20 61 62 6f 75 74 0a 20 20 20    20 20 20 20 3b 3b 20 66 69 6c 65 73 20 66 6f 72 | mation.about........;;.files.for | 
| 106c0 | 20 77 68 69 63 68 20 69 74 27 73 20 6e 6f 74 20    70 6f 73 73 69 62 6c 65 20 74 6f 20 67 65 74 20 | .which.it's.not.possible.to.get. | 
| 106e0 | 74 68 61 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e    0a 20 20 20 20 20 20 20 3b 3b 20 72 69 67 68 74 | that.information........;;.right | 
| 10700 | 20 6e 6f 77 2e 0a 20 20 20 20 20 20 20 28 6c 65    74 20 28 28 69 73 2d 6c 6f 63 61 6c 20 28 6e 6f | .now.........(let.((is-local.(no | 
| 10720 | 74 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70    20 64 69 72 29 29 29 20 20 20 20 20 20 3b 3b 20 | t.(file-remote-p.dir)))......;;. | 
| 10740 | 60 74 72 75 65 27 20 69 66 20 74 68 65 20 66 69    6c 65 20 69 73 20 6c 6f 63 61 6c 0a 20 20 20 20 | `true'.if.the.file.is.local..... | 
| 10760 | 20 20 20 20 20 20 20 20 20 28 69 73 2d 63 6f 6e    6e 65 63 74 65 64 20 28 66 69 6c 65 2d 72 65 6d | .........(is-connected.(file-rem | 
| 10780 | 6f 74 65 2d 70 20 64 69 72 20 6e 69 6c 20 74 29    29 29 20 3b 3b 20 60 74 72 75 65 27 20 69 66 20 | ote-p.dir.nil.t))).;;.`true'.if. | 
| 107a0 | 74 68 65 20 66 69 6c 65 20 69 73 20 72 65 6d 6f    74 65 20 41 4e 44 20 77 65 20 61 72 65 20 63 6f | the.file.is.remote.AND.we.are.co | 
| 107c0 | 6e 6e 65 63 74 65 64 20 74 6f 20 74 68 65 20 72    65 6d 6f 74 65 0a 20 20 20 20 20 20 20 20 20 28 | nnected.to.the.remote..........( | 
| 107e0 | 75 6e 6c 65 73 73 20 28 6f 72 20 69 73 2d 6c 6f    63 61 6c 20 69 73 2d 63 6f 6e 6e 65 63 74 65 64 | unless.(or.is-local.is-connected | 
| 10800 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f    6e 65 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 69 | )............'none))........;;.i | 
| 10820 | 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 6c 6f    63 61 6c 20 6f 72 20 77 65 27 72 65 20 63 6f 6e | f.the.file.is.local.or.we're.con | 
| 10840 | 6e 65 63 74 65 64 20 74 6f 20 69 74 20 76 69 61    20 54 52 41 4d 50 2c 20 72 75 6e 0a 20 20 20 20 | nected.to.it.via.TRAMP,.run..... | 
| 10860 | 20 20 20 3b 3b 20 74 68 72 6f 75 67 68 20 74 68    65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 66 | ...;;.through.the.project.root.f | 
| 10880 | 75 6e 63 74 69 6f 6e 73 20 75 6e 74 69 6c 20 77    65 20 66 69 6e 64 20 61 20 70 72 6f 6a 65 63 74 | unctions.until.we.find.a.project | 
| 108a0 | 20 64 69 72 0a 20 20 20 20 20 20 20 28 63 6c 2d    73 6f 6d 65 0a 20 20 20 20 20 20 20 20 28 6c 61 | .dir........(cl-some.........(la | 
| 108c0 | 6d 62 64 61 20 28 66 75 6e 63 29 0a 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 61 | mbda.(func)...........(let*.((ca | 
| 108e0 | 63 68 65 2d 6b 65 79 20 28 66 6f 72 6d 61 74 20    22 25 73 2d 25 73 22 20 66 75 6e 63 20 64 69 72 | che-key.(format."%s-%s".func.dir | 
| 10900 | 29 29 0a 20 20 20 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 | ))..................(cache-value | 
| 10920 | 20 28 67 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 | .(gethash.cache-key.projectile-p | 
| 10940 | 72 6f 6a 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 20 20 | roject-root-cache)))............ | 
| 10960 | 20 28 69 66 20 28 61 6e 64 20 63 61 63 68 65 2d    76 61 6c 75 65 20 28 66 69 6c 65 2d 65 78 69 73 | .(if.(and.cache-value.(file-exis | 
| 10980 | 74 73 2d 70 20 63 61 63 68 65 2d 76 61 6c 75 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ts-p.cache-value)).............. | 
| 109a0 | 20 20 20 63 61 63 68 65 2d 76 61 6c 75 65 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | ...cache-value...............(le | 
| 109c0 | 74 20 28 28 76 61 6c 75 65 20 28 66 75 6e 63 61    6c 6c 20 66 75 6e 63 20 28 66 69 6c 65 2d 74 72 | t.((value.(funcall.func.(file-tr | 
| 109e0 | 75 65 6e 61 6d 65 20 64 69 72 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | uename.dir)))).................( | 
| 10a00 | 70 75 74 68 61 73 68 20 63 61 63 68 65 2d 6b 65    79 20 76 61 6c 75 65 20 70 72 6f 6a 65 63 74 69 | puthash.cache-key.value.projecti | 
| 10a20 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d    63 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 | le-project-root-cache).......... | 
| 10a40 | 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 29 29    0a 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 | .......value)))).........project | 
| 10a60 | 69 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 29 0a 20 20 20 20 | ile-project-root-functions)..... | 
| 10a80 | 20 20 20 3b 3b 20 69 66 20 77 65 20 67 65 74 20    68 65 72 65 2c 20 77 65 20 68 61 76 65 20 66 61 | ...;;.if.we.get.here,.we.have.fa | 
| 10aa0 | 69 6c 65 64 20 74 6f 20 66 69 6e 64 20 61 20 72    6f 6f 74 20 62 79 20 61 6c 6c 0a 20 20 20 20 20 | iled.to.find.a.root.by.all...... | 
| 10ac0 | 20 20 3b 3b 20 63 6f 6e 76 65 6e 74 69 6f 6e 61    6c 20 6d 65 61 6e 73 2c 20 61 6e 64 20 77 65 20 | ..;;.conventional.means,.and.we. | 
| 10ae0 | 61 73 73 75 6d 65 20 74 68 65 20 66 61 69 6c 75    72 65 20 69 73 6e 27 74 20 74 72 61 6e 73 69 65 | assume.the.failure.isn't.transie | 
| 10b00 | 6e 74 0a 20 20 20 20 20 20 20 3b 3b 20 2f 20 6e    65 74 77 6f 72 6b 20 72 65 6c 61 74 65 64 2c 20 | nt........;;./.network.related,. | 
| 10b20 | 73 6f 20 63 61 63 68 65 20 74 68 65 20 66 61 69    6c 75 72 65 0a 20 20 20 20 20 20 20 28 6c 65 74 | so.cache.the.failure........(let | 
| 10b40 | 20 28 28 63 61 63 68 65 2d 6b 65 79 20 28 66 6f    72 6d 61 74 20 22 70 72 6f 6a 65 63 74 69 6c 65 | .((cache-key.(format."projectile | 
| 10b60 | 72 6f 6f 74 6c 65 73 73 2d 25 73 22 20 64 69 72    29 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 | rootless-%s".dir)))..........(pu | 
| 10b80 | 74 68 61 73 68 20 63 61 63 68 65 2d 6b 65 79 20    27 6e 6f 6e 65 20 70 72 6f 6a 65 63 74 69 6c 65 | thash.cache-key.'none.projectile | 
| 10ba0 | 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 63 61    63 68 65 29 0a 20 20 20 20 20 20 20 20 20 27 6e | -project-root-cache)..........'n | 
| 10bc0 | 6f 6e 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 65 6e 73 75 | one)))))..(defun.projectile-ensu | 
| 10be0 | 72 65 2d 70 72 6f 6a 65 63 74 20 28 64 69 72 29    0a 20 20 22 45 6e 73 75 72 65 20 74 68 61 74 20 | re-project.(dir)..."Ensure.that. | 
| 10c00 | 44 49 52 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a    55 73 65 66 75 6c 20 66 6f 72 20 63 6f 6d 6d 61 | DIR.is.non-nil..Useful.for.comma | 
| 10c20 | 6e 64 73 20 74 68 61 74 20 65 78 70 65 63 74 20    74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 | nds.that.expect.the.presence.of. | 
| 10c40 | 61 20 70 72 6f 6a 65 63 74 2e 0a 43 6f 6e 74 72    6f 6c 6c 65 64 20 62 79 20 60 70 72 6f 6a 65 63 | a.project..Controlled.by.`projec | 
| 10c60 | 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 27 2e 0a 0a 53 65 65 | tile-require-project-root'...See | 
| 10c80 | 20 61 6c 73 6f 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 27 2e | .also.`projectile-acquire-root'. | 
| 10ca0 | 22 0a 20 20 28 69 66 20 64 69 72 0a 20 20 20 20    20 20 64 69 72 0a 20 20 20 20 28 63 6f 6e 64 0a | "...(if.dir.......dir.....(cond. | 
| 10cc0 | 20 20 20 20 20 28 28 65 71 20 70 72 6f 6a 65 63    74 69 6c 65 2d 72 65 71 75 69 72 65 2d 70 72 6f | .....((eq.projectile-require-pro | 
| 10ce0 | 6a 65 63 74 2d 72 6f 6f 74 20 27 70 72 6f 6d 70    74 29 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | ject-root.'prompt).(projectile-c | 
| 10d00 | 6f 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 | ompleting-read.................. | 
| 10d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 10d40 | 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 6a 65 63 74 | ..."Switch.to.project:.".project | 
| 10d60 | 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 20 28 70 72 6f 6a 65 | ile-known-projects))......(proje | 
| 10d80 | 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 28 65 72 72 6f | ctile-require-project-root.(erro | 
| 10da0 | 72 20 22 50 72 6f 6a 65 63 74 69 6c 65 20 63 61    6e 6e 6f 74 20 66 69 6e 64 20 61 20 70 72 6f 6a | r."Projectile.cannot.find.a.proj | 
| 10dc0 | 65 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 69    6e 20 25 73 22 20 64 65 66 61 75 6c 74 2d 64 69 | ect.definition.in.%s".default-di | 
| 10de0 | 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 28    74 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 | rectory))......(t.default-direct | 
| 10e00 | 6f 72 79 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 63 71 75 69 | ory))))..(defun.projectile-acqui | 
| 10e20 | 72 65 2d 72 6f 6f 74 20 28 26 6f 70 74 69 6f 6e    61 6c 20 64 69 72 29 0a 20 20 22 46 69 6e 64 20 | re-root.(&optional.dir)..."Find. | 
| 10e40 | 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a    65 63 74 20 72 6f 6f 74 2c 20 61 6e 64 20 70 72 | the.current.project.root,.and.pr | 
| 10e60 | 6f 6d 70 74 73 20 74 68 65 20 75 73 65 72 20 66    6f 72 20 69 74 20 69 66 20 74 68 61 74 20 66 61 | ompts.the.user.for.it.if.that.fa | 
| 10e80 | 69 6c 73 2e 0a 50 72 6f 76 69 64 65 73 20 74 68    65 20 63 6f 6d 6d 6f 6e 20 69 64 69 6f 6d 20 28 | ils..Provides.the.common.idiom.( | 
| 10ea0 | 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 20 28 70 72 6f 6a 65 | projectile-ensure-project.(proje | 
| 10ec0 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 29 29 2e 0a 53 74 61 72 74 73 20 74 68 65 | ctile-project-root))..Starts.the | 
| 10ee0 | 20 73 65 61 72 63 68 20 66 6f 72 20 74 68 65 20    70 72 6f 6a 65 63 74 20 77 69 74 68 20 44 49 52 | .search.for.the.project.with.DIR | 
| 10f00 | 2e 22 0a 20 20 28 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 20 | ."...(projectile-ensure-project. | 
| 10f20 | 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 0a | (projectile-project-root.dir))). | 
| 10f40 | 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 70 20 28 26 6f | .(defun.projectile-project-p.(&o | 
| 10f60 | 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 44 49 52 20 69 73 20 | ptional.dir)..."Check.if.DIR.is. | 
| 10f80 | 61 20 70 72 6f 6a 65 63 74 2e 0a 44 65 66 61 75    6c 74 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 | a.project..Defaults.to.the.curre | 
| 10fa0 | 6e 74 20 64 69 72 65 63 74 6f 72 79 20 69 66 20    6e 6f 74 20 70 72 6f 76 69 64 65 64 0a 65 78 70 | nt.directory.if.not.provided.exp | 
| 10fc0 | 6c 69 63 69 74 6c 79 2e 22 0a 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | licitly."...(projectile-project- | 
| 10fe0 | 72 6f 6f 74 20 28 6f 72 20 64 69 72 20 64 65 66    61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 | root.(or.dir.default-directory)) | 
| 11000 | 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 70 72 6f | )..(defun.projectile-default-pro | 
| 11020 | 6a 65 63 74 2d 6e 61 6d 65 20 28 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 29 0a 20 20 22 44 65 66 61 | ject-name.(project-root)..."Defa | 
| 11040 | 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 75 73 65    64 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 | ult.function.used.to.create.the. | 
| 11060 | 70 72 6f 6a 65 63 74 20 6e 61 6d 65 2e 0a 54 68    65 20 70 72 6f 6a 65 63 74 20 6e 61 6d 65 20 69 | project.name..The.project.name.i | 
| 11080 | 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 76    61 6c 75 65 20 6f 66 20 50 52 4f 4a 45 43 54 2d | s.based.on.the.value.of.PROJECT- | 
| 110a0 | 52 4f 4f 54 2e 22 0a 20 20 28 66 69 6c 65 2d 6e    61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 | ROOT."...(file-name-nondirectory | 
| 110c0 | 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65    2d 6e 61 6d 65 20 70 72 6f 6a 65 63 74 2d 72 6f | .(directory-file-name.project-ro | 
| 110e0 | 6f 74 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 63 74 | ot)))..(defun.projectile-project | 
| 11100 | 2d 6e 61 6d 65 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 74 | -name.(&optional.project)..."Ret | 
| 11120 | 75 72 6e 20 70 72 6f 6a 65 63 74 20 6e 61 6d 65    2e 0a 49 66 20 50 52 4f 4a 45 43 54 20 69 73 20 | urn.project.name..If.PROJECT.is. | 
| 11140 | 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20 61 63    74 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e | not.specified.acts.on.the.curren | 
| 11160 | 74 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 6f    72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | t.project."...(or.projectile-pro | 
| 11180 | 6a 65 63 74 2d 6e 61 6d 65 0a 20 20 20 20 20 20    28 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 2d 72 | ject-name.......(let.((project-r | 
| 111a0 | 6f 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 70 72 6f 6a | oot.(or.project.(projectile-proj | 
| 111c0 | 65 63 74 2d 72 6f 6f 74 29 29 29 29 0a 20 20 20    20 20 20 20 20 28 69 66 20 70 72 6f 6a 65 63 74 | ect-root)))).........(if.project | 
| 111e0 | 2d 72 6f 6f 74 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 66 75 6e 63 61 6c 6c 20 70 72 6f 6a 65 | -root.............(funcall.proje | 
| 11200 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61    6d 65 2d 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6a | ctile-project-name-function.proj | 
| 11220 | 65 63 74 2d 72 6f 6f 74 29 0a 20 20 20 20 20 20    20 20 20 20 22 2d 22 29 29 29 29 0a 0a 0c 0a 3b | ect-root)..........."-"))))....; | 
| 11240 | 3b 3b 20 50 72 6f 6a 65 63 74 20 69 6e 64 65 78    69 6e 67 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | ;;.Project.indexing.(defun.proje | 
| 11260 | 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 20 28 70 | ctile-get-project-directories.(p | 
| 11280 | 72 6f 6a 65 63 74 2d 64 69 72 29 0a 20 20 22 47    65 74 20 74 68 65 20 6c 69 73 74 20 6f 66 20 50 | roject-dir)..."Get.the.list.of.P | 
| 112a0 | 52 4f 4a 45 43 54 2d 44 49 52 20 64 69 72 65 63    74 6f 72 69 65 73 20 74 68 61 74 20 61 72 65 20 | ROJECT-DIR.directories.that.are. | 
| 112c0 | 6f 66 20 69 6e 74 65 72 65 73 74 20 74 6f 20 74    68 65 20 75 73 65 72 2e 22 0a 20 20 28 6d 61 70 | of.interest.to.the.user."...(map | 
| 112e0 | 63 61 72 20 28 6c 61 6d 62 64 61 20 28 73 75 62    64 69 72 29 20 28 63 6f 6e 63 61 74 20 70 72 6f | car.(lambda.(subdir).(concat.pro | 
| 11300 | 6a 65 63 74 2d 64 69 72 20 73 75 62 64 69 72 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 | ject-dir.subdir))...........(or. | 
| 11320 | 28 6e 74 68 20 30 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 66 | (nth.0.(projectile-parse-dirconf | 
| 11340 | 69 67 2d 66 69 6c 65 29 29 20 27 28 22 22 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | ig-file)).'(""))))..(defun.proje | 
| 11360 | 63 74 69 6c 65 2d 2d 64 69 72 65 63 74 6f 72 79    2d 70 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 | ctile--directory-p.(directory).. | 
| 11380 | 20 22 43 68 65 63 6b 73 20 69 66 20 44 49 52 45    43 54 4f 52 59 20 69 73 20 61 20 73 74 72 69 6e | ."Checks.if.DIRECTORY.is.a.strin | 
| 113a0 | 67 20 64 65 73 69 67 6e 61 74 69 6e 67 20 61 20    76 61 6c 69 64 20 64 69 72 65 63 74 6f 72 79 2e | g.designating.a.valid.directory. | 
| 113c0 | 22 0a 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67    70 20 64 69 72 65 63 74 6f 72 79 29 20 28 66 69 | "...(and.(stringp.directory).(fi | 
| 113e0 | 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64    69 72 65 63 74 6f 72 79 29 29 29 0a 0a 28 64 65 | le-directory-p.directory)))..(de | 
| 11400 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64    69 72 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 | fun.projectile-dir-files.(direct | 
| 11420 | 6f 72 79 29 0a 20 20 22 4c 69 73 74 20 74 68 65    20 66 69 6c 65 73 20 69 6e 20 44 49 52 45 43 54 | ory)..."List.the.files.in.DIRECT | 
| 11440 | 4f 52 59 20 61 6e 64 20 69 6e 20 69 74 73 20 73    75 62 2d 64 69 72 65 63 74 6f 72 69 65 73 2e 0a | ORY.and.in.its.sub-directories.. | 
| 11460 | 46 69 6c 65 73 20 61 72 65 20 72 65 74 75 72 6e    65 64 20 61 73 20 72 65 6c 61 74 69 76 65 20 70 | Files.are.returned.as.relative.p | 
| 11480 | 61 74 68 73 20 74 6f 20 44 49 52 45 43 54 4f 52    59 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 70 | aths.to.DIRECTORY."...(unless.(p | 
| 114a0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 64 69 72 65 63    74 6f 72 79 2d 70 20 64 69 72 65 63 74 6f 72 79 | rojectile--directory-p.directory | 
| 114c0 | 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 44 69    72 65 63 74 6f 72 79 20 25 53 20 64 6f 65 73 20 | ).....(error."Directory.%S.does. | 
| 114e0 | 6e 6f 74 20 65 78 69 73 74 22 20 64 69 72 65 63    74 6f 72 79 29 29 0a 20 20 3b 3b 20 63 68 65 63 | not.exist".directory))...;;.chec | 
| 11500 | 6b 20 66 6f 72 20 61 20 63 61 63 68 65 20 68 69    74 20 66 69 72 73 74 20 69 66 20 63 61 63 68 69 | k.for.a.cache.hit.first.if.cachi | 
| 11520 | 6e 67 20 69 73 20 65 6e 61 62 6c 65 64 0a 20 20    28 6c 65 74 20 28 28 66 69 6c 65 73 2d 6c 69 73 | ng.is.enabled...(let.((files-lis | 
| 11540 | 74 20 28 61 6e 64 20 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 | t.(and.projectile-enable-caching | 
| 11560 | 0a 20 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 67 65 74 68 61 | ..........................(getha | 
| 11580 | 73 68 20 64 69 72 65 63 74 6f 72 79 20 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 | sh.directory.projectile-projects | 
| 115a0 | 2d 63 61 63 68 65 29 29 29 29 0a 20 20 20 20 3b    3b 20 63 61 63 68 65 20 64 69 73 61 62 6c 65 64 | -cache)))).....;;.cache.disabled | 
| 115c0 | 20 6f 72 20 63 61 63 68 65 20 6d 69 73 73 0a 20    20 20 20 28 6f 72 20 66 69 6c 65 73 2d 6c 69 73 | .or.cache.miss.....(or.files-lis | 
| 115e0 | 74 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28    28 76 63 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 | t.........(let.((vcs.(projectile | 
| 11600 | 2d 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 20 20 | -project-vcs.directory)))....... | 
| 11620 | 20 20 20 20 28 70 63 61 73 65 20 70 72 6f 6a 65    63 74 69 6c 65 2d 69 6e 64 65 78 69 6e 67 2d 6d | ....(pcase.projectile-indexing-m | 
| 11640 | 65 74 68 6f 64 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 27 6e 61 74 69 76 65 20 28 70 72 6f 6a | ethod.............('native.(proj | 
| 11660 | 65 63 74 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73    2d 6e 61 74 69 76 65 20 64 69 72 65 63 74 6f 72 | ectile-dir-files-native.director | 
| 11680 | 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    3b 3b 20 75 73 65 20 65 78 74 65 72 6e 61 6c 20 | y)).............;;.use.external. | 
| 116a0 | 74 6f 6f 6c 73 20 74 6f 20 67 65 74 20 74 68 65    20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 0a 20 | tools.to.get.the.project.files.. | 
| 116c0 | 20 20 20 20 20 20 20 20 20 20 20 28 27 68 79 62    72 69 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ...........('hybrid.(projectile- | 
| 116e0 | 61 64 6a 75 73 74 2d 66 69 6c 65 73 20 64 69 72    65 63 74 6f 72 79 20 76 63 73 20 28 70 72 6f 6a | adjust-files.directory.vcs.(proj | 
| 11700 | 65 63 74 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73    2d 61 6c 69 65 6e 20 64 69 72 65 63 74 6f 72 79 | ectile-dir-files-alien.directory | 
| 11720 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 27 61 6c 69 65 6e 20 28 70 72 6f 6a 65 63 74 | ))).............('alien.(project | 
| 11740 | 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73 2d 61 6c    69 65 6e 20 64 69 72 65 63 74 6f 72 79 29 29 0a | ile-dir-files-alien.directory)). | 
| 11760 | 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 72 20 22 55 6e 73 75 | ............(_.(user-error."Unsu | 
| 11780 | 70 70 6f 72 74 65 64 20 69 6e 64 65 78 69 6e 67    20 6d 65 74 68 6f 64 20 60 25 53 27 22 20 70 72 | pported.indexing.method.`%S'".pr | 
| 117a0 | 6f 6a 65 63 74 69 6c 65 2d 69 6e 64 65 78 69 6e    67 2d 6d 65 74 68 6f 64 29 29 29 29 29 29 29 0a | ojectile-indexing-method))))))). | 
| 117c0 | 0a 3b 3b 3b 20 4e 61 74 69 76 65 20 50 72 6f 6a    65 63 74 20 49 6e 64 65 78 69 6e 67 0a 3b 3b 0a | .;;;.Native.Project.Indexing.;;. | 
| 117e0 | 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 74 69 | ;;.This.corresponds.to.`projecti | 
| 11800 | 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 74 6f | le-indexing-method'.being.set.to | 
| 11820 | 20 6e 61 74 69 76 65 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 | .native..(defun.projectile-dir-f | 
| 11840 | 69 6c 65 73 2d 6e 61 74 69 76 65 20 28 64 69 72    65 63 74 6f 72 79 29 0a 20 20 22 47 65 74 20 74 | iles-native.(directory)..."Get.t | 
| 11860 | 68 65 20 66 69 6c 65 73 20 66 6f 72 20 52 4f 4f    54 20 75 6e 64 65 72 20 44 49 52 45 43 54 4f 52 | he.files.for.ROOT.under.DIRECTOR | 
| 11880 | 59 20 75 73 69 6e 67 20 6a 75 73 74 20 45 6d 61    63 73 20 4c 69 73 70 2e 22 0a 20 20 28 6c 65 74 | Y.using.just.Emacs.Lisp."...(let | 
| 118a0 | 20 28 28 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 28 6d | .((progress-reporter..........(m | 
| 118c0 | 61 6b 65 2d 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 | ake-progress-reporter........... | 
| 118e0 | 28 66 6f 72 6d 61 74 20 22 50 72 6f 6a 65 63 74    69 6c 65 20 69 73 20 69 6e 64 65 78 69 6e 67 20 | (format."Projectile.is.indexing. | 
| 11900 | 25 73 22 0a 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 | %s"...................(propertiz | 
| 11920 | 65 20 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 | e.directory.'face.'font-lock-key | 
| 11940 | 77 6f 72 64 2d 66 61 63 65 29 29 29 29 29 0a 20    20 20 20 3b 3b 20 77 65 20 6e 65 65 64 20 74 68 | word-face))))).....;;.we.need.th | 
| 11960 | 65 20 66 69 6c 65 73 20 77 69 74 68 20 70 61 74    68 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 | e.files.with.paths.relative.to.t | 
| 11980 | 68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 0a    20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d | he.project.root.....(mapcar.(lam | 
| 119a0 | 62 64 61 20 28 66 69 6c 65 29 20 28 66 69 6c 65    2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66 | bda.(file).(file-relative-name.f | 
| 119c0 | 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 28 70 72 6f | ile.directory)).............(pro | 
| 119e0 | 6a 65 63 74 69 6c 65 2d 69 6e 64 65 78 2d 64 69    72 65 63 74 6f 72 79 20 64 69 72 65 63 74 6f 72 | jectile-index-directory.director | 
| 11a00 | 79 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69    6c 74 65 72 69 6e 67 2d 70 61 74 74 65 72 6e 73 | y.(projectile-filtering-patterns | 
| 11a20 | 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 | )............................... | 
| 11a40 | 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 65    73 73 2d 72 65 70 6f 72 74 65 72 29 29 29 29 0a | ..........progress-reporter)))). | 
| 11a60 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 69 6e 64 65 78 2d 64 69 72 65 63 74 6f | .(defun.projectile-index-directo | 
| 11a80 | 72 79 20 28 64 69 72 65 63 74 6f 72 79 20 70 61    74 74 65 72 6e 73 20 70 72 6f 67 72 65 73 73 2d | ry.(directory.patterns.progress- | 
| 11aa0 | 72 65 70 6f 72 74 65 72 20 26 6f 70 74 69 6f 6e    61 6c 20 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 | reporter.&optional.ignored-files | 
| 11ac0 | 20 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f    72 69 65 73 20 67 6c 6f 62 61 6c 6c 79 2d 69 67 | .ignored-directories.globally-ig | 
| 11ae0 | 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65    73 29 0a 20 20 22 49 6e 64 65 78 20 44 49 52 45 | nored-directories)..."Index.DIRE | 
| 11b00 | 43 54 4f 52 59 20 74 61 6b 69 6e 67 20 69 6e 74    6f 20 61 63 63 6f 75 6e 74 20 50 41 54 54 45 52 | CTORY.taking.into.account.PATTER | 
| 11b20 | 4e 53 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f    6e 20 63 61 6c 6c 73 20 69 74 73 65 6c 66 20 72 | NS...The.function.calls.itself.r | 
| 11b40 | 65 63 75 72 73 69 76 65 6c 79 20 75 6e 74 69 6c    20 61 6c 6c 20 73 75 62 2d 64 69 72 65 63 74 6f | ecursively.until.all.sub-directo | 
| 11b60 | 72 69 65 73 0a 68 61 76 65 20 62 65 65 6e 20 69    6e 64 65 78 65 64 2e 20 20 54 68 65 20 50 52 4f | ries.have.been.indexed...The.PRO | 
| 11b80 | 47 52 45 53 53 2d 52 45 50 4f 52 54 45 52 20 69    73 20 75 70 64 61 74 65 64 20 77 68 69 6c 65 20 | GRESS-REPORTER.is.updated.while. | 
| 11ba0 | 74 68 65 0a 66 75 6e 63 74 69 6f 6e 20 69 73 20    65 78 65 63 75 74 69 6e 67 2e 20 20 54 68 65 20 | the.function.is.executing...The. | 
| 11bc0 | 6c 69 73 74 20 6f 66 20 49 47 4e 4f 52 45 44 2d    46 49 4c 45 53 20 61 6e 64 0a 49 47 4e 4f 52 45 | list.of.IGNORED-FILES.and.IGNORE | 
| 11be0 | 44 2d 44 49 52 45 43 54 4f 52 49 45 53 20 6d 61    79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 | D-DIRECTORIES.may.optionally.be. | 
| 11c00 | 70 72 6f 76 69 64 65 64 2e 22 0a 20 20 3b 3b 20    77 65 20 63 6f 6d 70 75 74 65 20 74 68 65 20 69 | provided."...;;.we.compute.the.i | 
| 11c20 | 67 6e 6f 72 65 64 20 66 69 6c 65 73 20 61 6e 64    20 64 69 72 65 63 74 6f 72 69 65 73 20 6f 6e 6c | gnored.files.and.directories.onl | 
| 11c40 | 79 20 6f 6e 63 65 20 61 6e 64 20 74 68 65 6e 20    77 65 20 72 65 75 73 65 20 74 68 65 0a 20 20 3b | y.once.and.then.we.reuse.the...; | 
| 11c60 | 3b 20 70 72 65 2d 63 6f 6d 70 75 74 65 64 20 76    61 6c 75 65 73 20 69 6e 20 74 68 65 20 73 75 62 | ;.pre-computed.values.in.the.sub | 
| 11c80 | 73 65 71 75 65 6e 74 20 72 65 63 75 72 73 69 76    65 20 69 6e 76 6f 63 61 74 69 6f 6e 73 20 6f 66 | sequent.recursive.invocations.of | 
| 11ca0 | 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20    28 6c 65 74 20 28 28 69 67 6e 6f 72 65 64 2d 66 | .the.function...(let.((ignored-f | 
| 11cc0 | 69 6c 65 73 20 28 6f 72 20 69 67 6e 6f 72 65 64    2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 69 | iles.(or.ignored-files.(projecti | 
| 11ce0 | 6c 65 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73    29 29 29 0a 20 20 20 20 20 20 20 20 28 69 67 6e | le-ignored-files))).........(ign | 
| 11d00 | 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73    20 28 6f 72 20 69 67 6e 6f 72 65 64 2d 64 69 72 | ored-directories.(or.ignored-dir | 
| 11d20 | 65 63 74 6f 72 69 65 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 | ectories.(projectile-ignored-dir | 
| 11d40 | 65 63 74 6f 72 69 65 73 29 29 29 0a 20 20 20 20    20 20 20 20 28 67 6c 6f 62 61 6c 6c 79 2d 69 67 | ectories))).........(globally-ig | 
| 11d60 | 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65    73 20 28 6f 72 20 67 6c 6f 62 61 6c 6c 79 2d 69 | nored-directories.(or.globally-i | 
| 11d80 | 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 69 6c 65 2d 67 | gnored-directories.(projectile-g | 
| 11da0 | 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 29 | lobally-ignored-directory-names) | 
| 11dc0 | 29 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23    27 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 | ))).....(apply.#'append......... | 
| 11de0 | 20 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 | ...(mapcar.............(lambda.( | 
| 11e00 | 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 65 74 20 28 28 6c 6f 63 61 6c 2d 66 20 | f)...............(let.((local-f. | 
| 11e20 | 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 6f | (file-name-nondirectory.(directo | 
| 11e40 | 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 29 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ry-file-name.f)))).............. | 
| 11e60 | 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28    61 6e 64 20 70 61 74 74 65 72 6e 73 20 28 70 72 | ...(unless.(or.(and.patterns.(pr | 
| 11e80 | 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64    2d 72 65 6c 2d 70 20 66 20 64 69 72 65 63 74 6f | ojectile-ignored-rel-p.f.directo | 
| 11ea0 | 72 79 20 70 61 74 74 65 72 6e 73 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ry.patterns))................... | 
| 11ec0 | 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65    72 20 6c 6f 63 61 6c 2d 66 20 27 28 22 2e 22 20 | ..........(member.local-f.'(".". | 
| 11ee0 | 22 2e 2e 22 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 72 | "..")))...................(progr | 
| 11f00 | 65 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 | ess-reporter-update.progress-rep | 
| 11f20 | 6f 72 74 65 72 29 0a 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 | orter)...................(if.(fi | 
| 11f40 | 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 66    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le-directory-p.f)............... | 
| 11f60 | 20 20 20 20 20 20 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 | ........(unless.(projectile-igno | 
| 11f80 | 72 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 70 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | red-directory-p................. | 
| 11fa0 | 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 | 
| 11fc0 | 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 20 20 20 20 20 20 | ectory.f)....................... | 
| 11fe0 | 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 64    2d 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 | .........ignored-directories.... | 
| 12000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 | ............................loca | 
| 12020 | 6c 2d 66 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l-f............................. | 
| 12040 | 20 20 20 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 73 29 | ...globally-ignored-directories) | 
| 12060 | 0a 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 | 
| 12080 | 74 69 6c 65 2d 69 6e 64 65 78 2d 64 69 72 65 63    74 6f 72 79 20 66 20 70 61 74 74 65 72 6e 73 20 | tile-index-directory.f.patterns. | 
| 120a0 | 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65    72 20 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 20 | progress-reporter.ignored-files. | 
| 120c0 | 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72    69 65 73 20 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e | ignored-directories.globally-ign | 
| 120e0 | 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 20 20 20 | ored-directories)).............. | 
| 12100 | 20 20 20 20 20 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 | .......(unless.(projectile-ignor | 
| 12120 | 65 64 2d 66 69 6c 65 2d 70 20 66 20 69 67 6e 6f    72 65 64 2d 66 69 6c 65 73 29 0a 20 20 20 20 20 | ed-file-p.f.ignored-files)...... | 
| 12140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 69 73 74 20 66 29 29 29 29 29 29 0a 20 | .................(list.f)))))).. | 
| 12160 | 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65    63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 65 | ...........(directory-files.dire | 
| 12180 | 63 74 6f 72 79 20 74 29 29 29 29 29 0a 0a 3b 3b    3b 20 41 6c 69 65 6e 20 50 72 6f 6a 65 63 74 20 | ctory.t)))))..;;;.Alien.Project. | 
| 121a0 | 49 6e 64 65 78 69 6e 67 0a 3b 3b 0a 3b 3b 20 54    68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 | Indexing.;;.;;.This.corresponds. | 
| 121c0 | 74 6f 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 20 | to.`projectile-indexing-method'. | 
| 121e0 | 62 65 69 6e 67 20 73 65 74 20 74 6f 20 68 79 62    72 69 64 20 6f 72 20 61 6c 69 65 6e 2e 0a 3b 3b | being.set.to.hybrid.or.alien..;; | 
| 12200 | 20 54 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72    65 6e 63 65 20 62 65 74 77 65 65 6e 20 74 68 65 | .The.only.difference.between.the | 
| 12220 | 20 74 77 6f 20 6d 65 74 68 6f 64 73 20 69 73 20    74 68 61 74 20 61 6c 69 65 6e 20 64 6f 65 73 6e | .two.methods.is.that.alien.doesn | 
| 12240 | 27 74 20 64 6f 0a 3b 3b 20 61 6e 79 20 70 6f 73    74 2d 70 72 6f 63 65 73 73 69 6e 67 20 6f 66 20 | 't.do.;;.any.post-processing.of. | 
| 12260 | 74 68 65 20 66 69 6c 65 73 20 6f 62 74 61 69 6e    65 64 20 76 69 61 20 74 68 65 20 65 78 74 65 72 | the.files.obtained.via.the.exter | 
| 12280 | 6e 61 6c 20 63 6f 6d 6d 61 6e 64 2e 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 | nal.command..(defun.projectile-d | 
| 122a0 | 69 72 2d 66 69 6c 65 73 2d 61 6c 69 65 6e 20 28    64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 47 65 | ir-files-alien.(directory)..."Ge | 
| 122c0 | 74 20 74 68 65 20 66 69 6c 65 73 20 66 6f 72 20    44 49 52 45 43 54 4f 52 59 20 75 73 69 6e 67 20 | t.the.files.for.DIRECTORY.using. | 
| 122e0 | 65 78 74 65 72 6e 61 6c 20 74 6f 6f 6c 73 2e 22    0a 20 20 28 6c 65 74 20 28 28 76 63 73 20 28 70 | external.tools."...(let.((vcs.(p | 
| 12300 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 76 63 73 20 64 69 72 65 63 74 6f 72 79 29 | rojectile-project-vcs.directory) | 
| 12320 | 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20    20 20 28 28 65 71 20 76 63 73 20 27 67 69 74 29 | )).....(cond......((eq.vcs.'git) | 
| 12340 | 0a 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d | .......(nconc.(projectile-files- | 
| 12360 | 76 69 61 2d 65 78 74 2d 63 6f 6d 6d 61 6e 64 20    64 69 72 65 63 74 6f 72 79 20 28 70 72 6f 6a 65 | via-ext-command.directory.(proje | 
| 12380 | 63 74 69 6c 65 2d 67 65 74 2d 65 78 74 2d 63 6f    6d 6d 61 6e 64 20 76 63 73 29 29 0a 20 20 20 20 | ctile-get-ext-command.vcs))..... | 
| 123a0 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 67 65 74 2d 73 75 62 2d 70 72 6f | .........(projectile-get-sub-pro | 
| 123c0 | 6a 65 63 74 73 2d 66 69 6c 65 73 20 64 69 72 65    63 74 6f 72 79 20 76 63 73 29 29 29 0a 20 20 20 | jects-files.directory.vcs))).... | 
| 123e0 | 20 20 28 74 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 | ..(t.(projectile-files-via-ext-c | 
| 12400 | 6f 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 | ommand.directory.(projectile-get | 
| 12420 | 2d 65 78 74 2d 63 6f 6d 6d 61 6e 64 20 76 63 73    29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 | -ext-command.vcs))))))..(defun.p | 
| 12440 | 72 6f 6a 65 63 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 | rojectile-get-ext-command.(vcs). | 
| 12460 | 20 20 22 44 65 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 | .."Determine.which.external.comm | 
| 12480 | 61 6e 64 20 74 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 | and.to.invoke.based.on.the.proje | 
| 124a0 | 63 74 27 73 20 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 | ct's.VCS..Fallback.to.a.generic. | 
| 124c0 | 63 6f 6d 6d 61 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 | command.when.not.in.a.VCS-contro | 
| 124e0 | 6c 6c 65 64 20 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 | lled.project."...(pcase.vcs..... | 
| 12500 | 28 27 67 69 74 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 | ('git.(if.(and.projectile-git-us | 
| 12520 | 65 2d 66 64 20 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 | e-fd.projectile-fd-executable).. | 
| 12540 | 20 20 20 20 20 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 | .............(concat............ | 
| 12560 | 20 20 20 20 70 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 | ....projectile-fd-executable.... | 
| 12580 | 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 70 | ............"."................p | 
| 125a0 | 72 6f 6a 65 63 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 | rojectile-git-fd-args).......... | 
| 125c0 | 20 20 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 0a 20 20 20 20 | ...projectile-git-command))..... | 
| 125e0 | 28 27 68 67 20 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 | ('hg.projectile-hg-command)..... | 
| 12600 | 28 27 66 6f 73 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 | ('fossil.projectile-fossil-comma | 
| 12620 | 6e 64 29 0a 20 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 | nd).....('bzr.projectile-bzr-com | 
| 12640 | 6d 61 6e 64 29 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 | mand).....('darcs.projectile-dar | 
| 12660 | 63 73 2d 63 6f 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 | cs-command).....('pijul.projecti | 
| 12680 | 6c 65 2d 70 69 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 | le-pijul-command).....('svn.proj | 
| 126a0 | 65 63 74 69 6c 65 2d 73 76 6e 2d 63 6f 6d 6d 61    6e 64 29 0a 20 20 20 20 28 27 73 61 70 6c 69 6e | ectile-svn-command).....('saplin | 
| 126c0 | 67 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 61 70    6c 69 6e 67 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 | g.projectile-sapling-command)... | 
| 126e0 | 20 20 28 27 6a 6a 20 70 72 6f 6a 65 63 74 69 6c    65 2d 6a 6a 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 | ..('jj.projectile-jj-command)... | 
| 12700 | 20 20 28 5f 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 29 | ..(_.projectile-generic-command) | 
| 12720 | 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 73 75 62 2d 70 72 | ))..(defun.projectile-get-sub-pr | 
| 12740 | 6f 6a 65 63 74 73 2d 63 6f 6d 6d 61 6e 64 20 28    76 63 73 29 0a 20 20 22 47 65 74 20 74 68 65 20 | ojects-command.(vcs)..."Get.the. | 
| 12760 | 73 75 62 2d 70 72 6f 6a 65 63 74 73 20 63 6f 6d    6d 61 6e 64 20 66 6f 72 20 56 43 53 2e 0a 43 75 | sub-projects.command.for.VCS..Cu | 
| 12780 | 72 72 65 6e 74 6c 79 20 74 68 61 74 27 73 20 73    75 70 70 6f 72 74 65 64 20 6a 75 73 74 20 66 6f | rrently.that's.supported.just.fo | 
| 127a0 | 72 20 47 69 74 20 28 73 75 62 2d 70 72 6f 6a 65    63 74 73 20 62 65 69 6e 67 20 47 69 74 0a 73 75 | r.Git.(sub-projects.being.Git.su | 
| 127c0 | 62 2d 6d 6f 64 75 6c 65 73 20 74 68 65 72 65 29    2e 22 0a 20 20 28 70 63 61 73 65 20 76 63 73 0a | b-modules.there)."...(pcase.vcs. | 
| 127e0 | 20 20 20 20 28 27 67 69 74 20 70 72 6f 6a 65 63    74 69 6c 65 2d 67 69 74 2d 73 75 62 6d 6f 64 75 | ....('git.projectile-git-submodu | 
| 12800 | 6c 65 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20    28 5f 20 22 22 29 29 29 0a 0a 28 64 65 66 75 6e | le-command).....(_."")))..(defun | 
| 12820 | 20 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 6d 6d | .projectile-get-ext-ignored-comm | 
| 12840 | 61 6e 64 20 28 76 63 73 29 0a 20 20 22 44 65 74    65 72 6d 69 6e 65 20 77 68 69 63 68 20 65 78 74 | and.(vcs)..."Determine.which.ext | 
| 12860 | 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 20 74 6f    20 69 6e 76 6f 6b 65 20 62 61 73 65 64 20 6f 6e | ernal.command.to.invoke.based.on | 
| 12880 | 20 74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 56    43 53 2e 22 0a 20 20 28 70 63 61 73 65 20 76 63 | .the.project's.VCS."...(pcase.vc | 
| 128a0 | 73 0a 20 20 20 20 28 27 67 69 74 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 69 74 2d 69 67 6e 6f 72 | s.....('git.projectile-git-ignor | 
| 128c0 | 65 64 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20    3b 3b 20 54 4f 44 4f 3a 20 41 64 64 20 73 75 70 | ed-command).....;;.TODO:.Add.sup | 
| 128e0 | 70 6f 72 74 20 66 6f 72 20 6f 74 68 65 72 20 56    43 53 0a 20 20 20 20 28 5f 20 6e 69 6c 29 29 29 | port.for.other.VCS.....(_.nil))) | 
| 12900 | 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 66 6c 61 74 74 65 6e 20 28 6c 73 74 | ..(defun.projectile-flatten.(lst | 
| 12920 | 29 0a 20 20 22 54 61 6b 65 20 61 20 6e 65 73 74    65 64 20 6c 69 73 74 20 4c 53 54 20 61 6e 64 20 | )..."Take.a.nested.list.LST.and. | 
| 12940 | 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65    6e 74 73 20 61 73 20 61 20 73 69 6e 67 6c 65 2c | return.its.contents.as.a.single, | 
| 12960 | 20 66 6c 61 74 20 6c 69 73 74 2e 22 0a 20 20 28    69 66 20 28 61 6e 64 20 28 6c 69 73 74 70 20 6c | .flat.list."...(if.(and.(listp.l | 
| 12980 | 73 74 29 20 28 6c 69 73 74 70 20 28 63 64 72 20    6c 73 74 29 29 29 0a 20 20 20 20 20 20 28 63 6c | st).(listp.(cdr.lst))).......(cl | 
| 129a0 | 2d 6d 61 70 63 61 6e 20 27 70 72 6f 6a 65 63 74    69 6c 65 2d 66 6c 61 74 74 65 6e 20 6c 73 74 29 | -mapcan.'projectile-flatten.lst) | 
| 129c0 | 0a 20 20 20 20 28 6c 69 73 74 20 6c 73 74 29 29    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | .....(list.lst)))..(defun.projec | 
| 129e0 | 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 28 70 72 6f 6a 65 | tile-get-all-sub-projects.(proje | 
| 12a00 | 63 74 29 0a 20 20 22 47 65 74 20 61 6c 6c 20 73    75 62 2d 70 72 6f 6a 65 63 74 73 20 66 6f 72 20 | ct)..."Get.all.sub-projects.for. | 
| 12a20 | 61 20 67 69 76 65 6e 20 70 72 6f 6a 65 63 74 2e    0a 0a 50 52 4f 4a 45 43 54 20 69 73 20 62 61 73 | a.given.project...PROJECT.is.bas | 
| 12a40 | 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 73    74 61 72 74 20 73 65 61 72 63 68 20 72 65 63 75 | e.directory.to.start.search.recu | 
| 12a60 | 72 73 69 76 65 6c 79 2e 22 0a 20 20 28 6c 65 74    20 28 28 73 75 62 6d 6f 64 75 6c 65 73 20 28 70 | rsively."...(let.((submodules.(p | 
| 12a80 | 72 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 | rojectile-get-immediate-sub-proj | 
| 12aa0 | 65 63 74 73 20 70 72 6f 6a 65 63 74 29 29 29 0a    20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 | ects.project))).....(cond......( | 
| 12ac0 | 28 6e 75 6c 6c 20 73 75 62 6d 6f 64 75 6c 65 73    29 0a 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 | (null.submodules).......nil).... | 
| 12ae0 | 20 20 28 74 0a 20 20 20 20 20 20 28 6e 63 6f 6e    63 20 73 75 62 6d 6f 64 75 6c 65 73 20 28 70 72 | ..(t.......(nconc.submodules.(pr | 
| 12b00 | 6f 6a 65 63 74 69 6c 65 2d 66 6c 61 74 74 65 6e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ojectile-flatten................ | 
| 12b20 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 63    75 72 73 69 76 65 6c 79 20 67 65 74 20 73 75 62 | ..........;;.recursively.get.sub | 
| 12b40 | 2d 70 72 6f 6a 65 63 74 73 20 6f 66 20 65 61 63    68 20 73 75 62 2d 70 72 6f 6a 65 63 74 0a 20 20 | -projects.of.each.sub-project... | 
| 12b60 | 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 61 72 20 28 | .......................(mapcar.( | 
| 12b80 | 6c 61 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 | lambda.(s)...................... | 
| 12ba0 | 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 74 2d 61 6c | ..............(projectile-get-al | 
| 12bc0 | 6c 2d 73 75 62 2d 70 72 6f 6a 65 63 74 73 20 73    29 29 20 73 75 62 6d 6f 64 75 6c 65 73 29 29 29 | l-sub-projects.s)).submodules))) | 
| 12be0 | 29 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 2d 69 6d 6d 65 | ))))..(defun.projectile-get-imme | 
| 12c00 | 64 69 61 74 65 2d 73 75 62 2d 70 72 6f 6a 65 63    74 73 20 28 70 61 74 68 29 0a 20 20 22 47 65 74 | diate-sub-projects.(path)..."Get | 
| 12c20 | 20 69 6d 6d 65 64 69 61 74 65 20 73 75 62 2d 70    72 6f 6a 65 63 74 73 20 66 6f 72 20 61 20 67 69 | .immediate.sub-projects.for.a.gi | 
| 12c40 | 76 65 6e 20 70 72 6f 6a 65 63 74 20 77 69 74 68    6f 75 74 20 72 65 63 75 72 73 69 6e 67 2e 0a 0a | ven.project.without.recursing... | 
| 12c60 | 50 41 54 48 20 69 73 20 74 68 65 20 76 63 73 20    72 6f 6f 74 20 6f 72 20 70 72 6f 6a 65 63 74 20 | PATH.is.the.vcs.root.or.project. | 
| 12c80 | 72 6f 6f 74 20 66 72 6f 6d 20 77 68 69 63 68 20    74 6f 20 73 74 61 72 74 0a 73 65 61 72 63 68 69 | root.from.which.to.start.searchi | 
| 12ca0 | 6e 67 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 65    6e 64 20 77 69 74 68 20 61 6e 20 61 70 70 72 6f | ng,.and.should.end.with.an.appro | 
| 12cc0 | 70 72 69 61 74 65 20 70 61 74 68 20 64 65 6c 69    6d 69 74 65 72 2c 20 73 75 63 68 20 61 73 0a 27 | priate.path.delimiter,.such.as.' | 
| 12ce0 | 2f 27 20 6f 72 20 61 20 27 5c 5c 27 2e 0a 0a 49    66 20 74 68 65 20 76 63 73 20 67 65 74 2d 73 75 | /'.or.a.'\\'...If.the.vcs.get-su | 
| 12d00 | 62 2d 70 72 6f 6a 65 63 74 73 20 71 75 65 72 79    20 72 65 74 75 72 6e 73 20 72 65 73 75 6c 74 73 | b-projects.query.returns.results | 
| 12d20 | 20 6f 75 74 73 69 64 65 20 6f 66 20 70 61 74 68    2c 0a 74 68 65 79 20 61 72 65 20 65 78 63 6c 75 | .outside.of.path,.they.are.exclu | 
| 12d40 | 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73    75 6c 74 73 20 6f 66 20 74 68 69 73 20 66 75 6e | ded.from.the.results.of.this.fun | 
| 12d60 | 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 2a 20    28 28 76 63 73 20 28 70 72 6f 6a 65 63 74 69 6c | ction."...(let*.((vcs.(projectil | 
| 12d80 | 65 2d 70 72 6f 6a 65 63 74 2d 76 63 73 20 70 61    74 68 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b | e-project-vcs.path))..........;; | 
| 12da0 | 20 73 65 61 72 63 68 20 66 6f 72 20 73 75 62 2d    70 72 6f 6a 65 63 74 73 20 75 6e 64 65 72 20 63 | .search.for.sub-projects.under.c | 
| 12dc0 | 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 60    70 72 6f 6a 65 63 74 27 0a 20 20 20 20 20 20 20 | urrent.project.`project'........ | 
| 12de0 | 20 20 28 73 75 62 6d 6f 64 75 6c 65 73 20 28 6d    61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 | ..(submodules.(mapcar........... | 
| 12e00 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d    62 64 61 20 28 73 29 0a 20 20 20 20 20 20 20 20 | ............(lambda.(s)......... | 
| 12e20 | 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 73 2d 64 69 | ................(file-name-as-di | 
| 12e40 | 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 20 73 20 70 61 74 68 | rectory.(expand-file-name.s.path | 
| 12e60 | 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 28 70 72 6f 6a 65 | ))).......................(proje | 
| 12e80 | 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 61 74 68 | ctile-files-via-ext-command.path | 
| 12ea0 | 20 28 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 63 6f | .(projectile-get-sub-projects-co | 
| 12ec0 | 6d 6d 61 6e 64 20 76 63 73 29 29 29 29 0a 20 20    20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 2d | mmand.vcs))))..........(project- | 
| 12ee0 | 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 20 20 28 63 6f | child-folder-regex...........(co | 
| 12f00 | 6e 63 61 74 20 22 5c 5c 60 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 | ncat."\\`"...................(re | 
| 12f20 | 67 65 78 70 2d 71 75 6f 74 65 20 70 61 74 68 29    29 29 29 0a 0a 20 20 20 20 3b 3b 20 49 66 20 70 | gexp-quote.path))))......;;.If.p | 
| 12f40 | 72 6f 6a 65 63 74 20 72 6f 6f 74 20 69 73 20 69    6e 73 69 64 65 20 6f 66 20 61 6e 20 56 43 53 20 | roject.root.is.inside.of.an.VCS. | 
| 12f60 | 66 6f 6c 64 65 72 2c 20 62 75 74 20 6e 6f 74 20    61 63 74 75 61 6c 6c 79 20 61 6e 0a 20 20 20 20 | folder,.but.not.actually.an..... | 
| 12f80 | 3b 3b 20 56 43 53 20 72 6f 6f 74 20 69 74 73 65    6c 66 2c 20 73 75 62 6d 6f 64 75 6c 65 73 20 65 | ;;.VCS.root.itself,.submodules.e | 
| 12fa0 | 78 74 65 72 6e 61 6c 20 74 6f 20 74 68 65 20 70    72 6f 6a 65 63 74 20 77 69 6c 6c 20 62 65 0a 20 | xternal.to.the.project.will.be.. | 
| 12fc0 | 20 20 20 3b 3b 20 69 6e 63 6c 75 64 65 64 20 69    6e 20 74 68 65 20 56 43 53 20 67 65 74 20 73 75 | ...;;.included.in.the.VCS.get.su | 
| 12fe0 | 62 2d 70 72 6f 6a 65 63 74 73 20 72 65 73 75 6c    74 2e 20 4c 65 74 27 73 20 72 65 6d 6f 76 65 20 | b-projects.result..Let's.remove. | 
| 13000 | 74 68 65 6d 2e 0a 20 20 20 20 28 63 6c 2d 72 65    6d 6f 76 65 2d 69 66 2d 6e 6f 74 0a 20 20 20 20 | them......(cl-remove-if-not..... | 
| 13020 | 20 28 6c 61 6d 62 64 61 20 28 73 75 62 6d 6f 64    75 6c 65 29 0a 20 20 20 20 20 20 20 28 73 74 72 | .(lambda.(submodule)........(str | 
| 13040 | 69 6e 67 2d 6d 61 74 63 68 2d 70 20 70 72 6f 6a    65 63 74 2d 63 68 69 6c 64 2d 66 6f 6c 64 65 72 | ing-match-p.project-child-folder | 
| 13060 | 2d 72 65 67 65 78 0a 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 | -regex........................su | 
| 13080 | 62 6d 6f 64 75 6c 65 29 29 0a 20 20 20 20 20 73    75 62 6d 6f 64 75 6c 65 73 29 29 29 0a 0a 28 64 | bmodule))......submodules)))..(d | 
| 130a0 | 65 66 75 6e 20 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 | efun.projectile-get-sub-projects | 
| 130c0 | 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 20 5f 76 63 73 29 0a 20 20 22 47 65 | -files.(project-root._vcs)..."Ge | 
| 130e0 | 74 20 66 69 6c 65 73 20 66 72 6f 6d 20 73 75 62    2d 70 72 6f 6a 65 63 74 73 20 66 6f 72 20 50 52 | t.files.from.sub-projects.for.PR | 
| 13100 | 4f 4a 45 43 54 2d 52 4f 4f 54 20 72 65 63 75 72    73 69 76 65 6c 79 2e 22 0a 20 20 28 70 72 6f 6a | OJECT-ROOT.recursively."...(proj | 
| 13120 | 65 63 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 | ectile-flatten....(mapcar.(lambd | 
| 13140 | 61 20 28 73 75 62 2d 70 72 6f 6a 65 63 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | a.(sub-project)..............(le | 
| 13160 | 74 20 28 28 70 72 6f 6a 65 63 74 2d 72 65 6c 61    74 69 76 65 2d 70 61 74 68 0a 20 20 20 20 20 20 | t.((project-relative-path....... | 
| 13180 | 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 65 | ..............(file-name-as-dire | 
| 131a0 | 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 0a 20 20 20 20 20 20 | ctory.(file-relative-name....... | 
| 131c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 131e0 | 20 20 20 20 20 20 20 73 75 62 2d 70 72 6f 6a 65    63 74 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 | .......sub-project.project-root) | 
| 13200 | 29 29 29 0a 20 20 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 | )))................(mapcar.(lamb | 
| 13220 | 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 20 20 20 20 20 | da.(file)....................... | 
| 13240 | 20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 6a 65    63 74 2d 72 65 6c 61 74 69 76 65 2d 70 61 74 68 | ...(concat.project-relative-path | 
| 13260 | 20 66 69 6c 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 3b | .file))........................; | 
| 13280 | 3b 20 54 4f 44 4f 3a 20 53 65 65 6d 73 20 77 65    20 66 6f 72 67 6f 74 20 67 69 74 20 68 61 72 64 | ;.TODO:.Seems.we.forgot.git.hard | 
| 132a0 | 63 6f 64 65 64 20 68 65 72 65 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | coded.here...................... | 
| 132c0 | 20 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 | ..(projectile-files-via-ext-comm | 
| 132e0 | 61 6e 64 20 73 75 62 2d 70 72 6f 6a 65 63 74 20    70 72 6f 6a 65 63 74 69 6c 65 2d 67 69 74 2d 63 | and.sub-project.projectile-git-c | 
| 13300 | 6f 6d 6d 61 6e 64 29 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 | ommand))))............(projectil | 
| 13320 | 65 2d 67 65 74 2d 61 6c 6c 2d 73 75 62 2d 70 72    6f 6a 65 63 74 73 20 70 72 6f 6a 65 63 74 2d 72 | e-get-all-sub-projects.project-r | 
| 13340 | 6f 6f 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 67 65 74 2d 72 | oot))))..(defun.projectile-get-r | 
| 13360 | 65 70 6f 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 29 0a | epo-ignored-files.(project.vcs). | 
| 13380 | 20 20 22 47 65 74 20 61 20 6c 69 73 74 20 6f 66    20 74 68 65 20 66 69 6c 65 73 20 69 67 6e 6f 72 | .."Get.a.list.of.the.files.ignor | 
| 133a0 | 65 64 20 69 6e 20 74 68 65 20 50 52 4f 4a 45 43    54 20 75 73 69 6e 67 20 56 43 53 2e 22 0a 20 20 | ed.in.the.PROJECT.using.VCS."... | 
| 133c0 | 28 6c 65 74 20 28 28 63 6d 64 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 67 65 74 2d 65 78 74 2d 69 | (let.((cmd.(projectile-get-ext-i | 
| 133e0 | 67 6e 6f 72 65 64 2d 63 6f 6d 6d 61 6e 64 20 76    63 73 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 | gnored-command.vcs))).....(when. | 
| 13400 | 63 6d 64 0a 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 2d | cmd.......(projectile-files-via- | 
| 13420 | 65 78 74 2d 63 6f 6d 6d 61 6e 64 20 70 72 6f 6a    65 63 74 20 63 6d 64 29 29 29 29 0a 0a 28 64 65 | ext-command.project.cmd))))..(de | 
| 13440 | 66 75 6e 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 | fun.projectile-get-repo-ignored- | 
| 13460 | 64 69 72 65 63 74 6f 72 79 20 28 70 72 6f 6a 65    63 74 20 64 69 72 20 76 63 73 29 0a 20 20 22 47 | directory.(project.dir.vcs)..."G | 
| 13480 | 65 74 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65    20 66 69 6c 65 73 20 69 67 6e 6f 72 65 64 20 69 | et.a.list.of.the.files.ignored.i | 
| 134a0 | 6e 20 74 68 65 20 50 52 4f 4a 45 43 54 20 69 6e    20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 44 | n.the.PROJECT.in.the.directory.D | 
| 134c0 | 49 52 2e 0a 56 43 53 20 69 73 20 74 68 65 20 56    43 53 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 | IR..VCS.is.the.VCS.of.the.projec | 
| 134e0 | 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6d 64    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 | t."...(let.((cmd.(projectile-get | 
| 13500 | 2d 65 78 74 2d 69 67 6e 6f 72 65 64 2d 63 6f 6d    6d 61 6e 64 20 76 63 73 29 29 29 0a 20 20 20 20 | -ext-ignored-command.vcs)))..... | 
| 13520 | 28 77 68 65 6e 20 63 6d 64 0a 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 | (when.cmd.......(projectile-file | 
| 13540 | 73 2d 76 69 61 2d 65 78 74 2d 63 6f 6d 6d 61 6e    64 20 70 72 6f 6a 65 63 74 20 28 63 6f 6e 63 61 | s-via-ext-command.project.(conca | 
| 13560 | 74 20 63 6d 64 20 22 20 22 20 64 69 72 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | t.cmd.".".dir)))))..(defun.proje | 
| 13580 | 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 28 72 6f 6f | ctile-files-via-ext-command.(roo | 
| 135a0 | 74 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 22 47 65    74 20 61 20 6c 69 73 74 20 6f 66 20 72 65 6c 61 | t.command)..."Get.a.list.of.rela | 
| 135c0 | 74 69 76 65 20 66 69 6c 65 20 6e 61 6d 65 73 20    69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 52 | tive.file.names.in.the.project.R | 
| 135e0 | 4f 4f 54 20 62 79 20 65 78 65 63 75 74 69 6e 67    20 43 4f 4d 4d 41 4e 44 2e 0a 0a 49 66 20 60 63 | OOT.by.executing.COMMAND...If.`c | 
| 13600 | 6f 6d 6d 61 6e 64 27 20 69 73 20 6e 69 6c 20 6f    72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e | ommand'.is.nil.or.an.empty.strin | 
| 13620 | 67 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 54    68 69 73 20 61 6c 6c 6f 77 73 20 63 6f 6d 6d 61 | g,.return.nil..This.allows.comma | 
| 13640 | 6e 64 73 20 74 6f 20 62 65 20 64 69 73 61 62 6c    65 64 2e 0a 0a 4f 6e 6c 79 20 74 65 78 74 20 73 | nds.to.be.disabled...Only.text.s | 
| 13660 | 65 6e 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20    6f 75 74 70 75 74 20 69 73 20 74 61 6b 65 6e 20 | ent.to.standard.output.is.taken. | 
| 13680 | 69 6e 74 6f 20 61 63 63 6f 75 6e 74 2e 22 0a 20    20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 | into.account."...(when.(stringp. | 
| 136a0 | 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 28 6c 65    74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 | command).....(let.((default-dire | 
| 136c0 | 63 74 6f 72 79 20 72 6f 6f 74 29 29 0a 20 20 20    20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 | ctory.root)).......(with-temp-bu | 
| 136e0 | 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 73 68    65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d | ffer.........(shell-command.comm | 
| 13700 | 61 6e 64 20 74 20 22 2a 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6c 65 73 2d 65 72 72 6f 72 73 2a | and.t."*projectile-files-errors* | 
| 13720 | 22 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20    28 28 73 68 65 6c 6c 2d 6f 75 74 70 75 74 20 28 | ").........(let.((shell-output.( | 
| 13740 | 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 6f | buffer-substring.(point-min).(po | 
| 13760 | 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 | int-max))))...........(split-str | 
| 13780 | 69 6e 67 20 28 73 74 72 69 6e 67 2d 74 72 69 6d    20 73 68 65 6c 6c 2d 6f 75 74 70 75 74 29 20 22 | ing.(string-trim.shell-output)." | 
| 137a0 | 5c 30 22 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 6c 65 2d 61 | \0".t))))))..(defun.projectile-a | 
| 137c0 | 64 6a 75 73 74 2d 66 69 6c 65 73 20 28 70 72 6f    6a 65 63 74 20 76 63 73 20 66 69 6c 65 73 29 0a | djust-files.(project.vcs.files). | 
| 137e0 | 20 20 22 46 69 72 73 74 20 72 65 6d 6f 76 65 20    69 67 6e 6f 72 65 64 20 66 69 6c 65 73 20 66 72 | .."First.remove.ignored.files.fr | 
| 13800 | 6f 6d 20 46 49 4c 45 53 2c 20 74 68 65 6e 20 61    64 64 20 62 61 63 6b 20 75 6e 69 67 6e 6f 72 65 | om.FILES,.then.add.back.unignore | 
| 13820 | 64 20 66 69 6c 65 73 2e 22 0a 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 61 64 64 2d 75 6e 69 67 | d.files."...(projectile-add-unig | 
| 13840 | 6e 6f 72 65 64 20 70 72 6f 6a 65 63 74 20 76 63    73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 | nored.project.vcs.(projectile-re | 
| 13860 | 6d 6f 76 65 2d 69 67 6e 6f 72 65 64 20 66 69 6c    65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | move-ignored.files)))..(defun.pr | 
| 13880 | 6f 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d    69 67 6e 6f 72 65 64 20 28 66 69 6c 65 73 29 0a | ojectile-remove-ignored.(files). | 
| 138a0 | 20 20 22 52 65 6d 6f 76 65 20 69 67 6e 6f 72 65    64 20 66 69 6c 65 73 20 61 6e 64 20 66 6f 6c 64 | .."Remove.ignored.files.and.fold | 
| 138c0 | 65 72 73 20 66 72 6f 6d 20 46 49 4c 45 53 2e 0a    0a 49 66 20 69 67 6e 6f 72 65 64 20 64 69 72 65 | ers.from.FILES...If.ignored.dire | 
| 138e0 | 63 74 6f 72 79 20 70 72 65 66 69 78 65 64 20 77    69 74 68 20 27 2a 27 2c 20 74 68 65 6e 20 69 67 | ctory.prefixed.with.'*',.then.ig | 
| 13900 | 6e 6f 72 65 20 61 6c 6c 0a 64 69 72 65 63 74 6f    72 69 65 73 2f 73 75 62 64 69 72 65 63 74 6f 72 | nore.all.directories/subdirector | 
| 13920 | 69 65 73 20 77 69 74 68 20 6d 61 74 63 68 69 6e    67 20 66 69 6c 65 6e 61 6d 65 2c 0a 6f 74 68 65 | ies.with.matching.filename,.othe | 
| 13940 | 72 77 69 73 65 20 6f 70 65 72 61 74 65 73 20 72    65 6c 61 74 69 76 65 20 74 6f 20 70 72 6f 6a 65 | rwise.operates.relative.to.proje | 
| 13960 | 63 74 20 72 6f 6f 74 2e 22 0a 20 20 28 6c 65 74    20 28 28 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 | ct.root."...(let.((ignored-files | 
| 13980 | 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 73 2d 72 65 6c 29 29 | .(projectile-ignored-files-rel)) | 
| 139a0 | 0a 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65    64 2d 64 69 72 73 20 28 70 72 6f 6a 65 63 74 69 | .........(ignored-dirs.(projecti | 
| 139c0 | 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 29 29 29 0a 20 20 | le-ignored-directories-rel)))... | 
| 139e0 | 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 0a    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69 | ..(cl-remove-if......(lambda.(fi | 
| 13a00 | 6c 65 29 0a 20 20 20 20 20 20 20 28 6f 72 20 28    63 6c 2d 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 | le)........(or.(cl-some......... | 
| 13a20 | 20 20 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 28 73 | ....(lambda.(f)...............(s | 
| 13a40 | 74 72 69 6e 67 3d 20 66 20 28 66 69 6c 65 2d 6e    61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 | tring=.f.(file-name-nondirectory | 
| 13a60 | 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 69 67 6e 6f 72 65 64 2d 66 69 6c | .file))).............ignored-fil | 
| 13a80 | 65 73 29 0a 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 20 20 20 | es)............(cl-some......... | 
| 13aa0 | 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 20 20 20 20 20 | ....(lambda.(dir)............... | 
| 13ac0 | 3b 3b 20 69 66 20 74 68 65 20 64 69 72 65 63 74    6f 72 79 20 69 73 20 70 72 65 66 69 78 65 64 20 | ;;.if.the.directory.is.prefixed. | 
| 13ae0 | 77 69 74 68 20 27 2a 27 20 74 68 65 6e 20 69 67    6e 6f 72 65 20 61 6c 6c 20 64 69 72 65 63 74 6f | with.'*'.then.ignore.all.directo | 
| 13b00 | 72 69 65 73 20 6d 61 74 63 68 69 6e 67 20 74 68    61 74 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 | ries.matching.that.name......... | 
| 13b20 | 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 2a 22 20 64 | ......(if.(string-prefix-p."*".d | 
| 13b40 | 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65 20 | ir)...................;;.remove. | 
| 13b60 | 27 2a 27 20 61 6e 64 20 74 72 61 69 6c 69 6e 67    20 73 6c 61 73 68 20 66 72 6f 6d 20 69 67 6e 6f | '*'.and.trailing.slash.from.igno | 
| 13b80 | 72 65 64 20 64 69 72 65 63 74 6f 72 79 20 6e 61    6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | red.directory.name.............. | 
| 13ba0 | 20 20 20 20 20 28 6c 65 74 20 28 28 64 20 28 73    75 62 73 74 72 69 6e 67 20 64 69 72 20 31 20 28 | .....(let.((d.(substring.dir.1.( | 
| 13bc0 | 69 66 20 28 65 71 75 61 6c 20 28 73 75 62 73 74    72 69 6e 67 20 64 69 72 20 2d 31 29 20 22 2f 22 | if.(equal.(substring.dir.-1)."/" | 
| 13be0 | 29 20 2d 31 20 6e 69 6c 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).-1.nil)))).................... | 
| 13c00 | 20 28 63 6c 2d 73 6f 6d 65 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .(cl-some......................( | 
| 13c20 | 6c 61 6d 62 64 61 20 28 70 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lambda.(p)...................... | 
| 13c40 | 20 20 28 73 74 72 69 6e 67 3d 20 64 20 70 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(string=.d.p))................ | 
| 13c60 | 20 20 20 20 20 20 3b 3b 20 73 70 6c 69 74 20 70    61 74 68 20 62 79 20 27 2f 27 2c 20 72 65 6d 6f | ......;;.split.path.by.'/',.remo | 
| 13c80 | 76 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 73    2c 20 61 6e 64 20 63 68 65 63 6b 20 69 66 20 61 | ve.empty.strings,.and.check.if.a | 
| 13ca0 | 6e 79 20 73 75 62 64 69 72 73 20 6d 61 74 63 68    20 6e 61 6d 65 20 27 64 27 0a 20 20 20 20 20 20 | ny.subdirs.match.name.'d'....... | 
| 13cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    64 65 6c 65 74 65 20 22 22 20 28 73 70 6c 69 74 | ...............(delete."".(split | 
| 13ce0 | 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 72 65 63 74 6f 72 79 | -string.(or.(file-name-directory | 
| 13d00 | 20 66 69 6c 65 29 20 22 22 29 20 22 2f 22 29 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .file)."")."/")))).............. | 
| 13d20 | 20 20 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69    78 2d 70 20 64 69 72 20 66 69 6c 65 29 29 29 0a | ...(string-prefix-p.dir.file))). | 
| 13d40 | 20 20 20 20 20 20 20 20 20 20 20 20 69 67 6e 6f    72 65 64 2d 64 69 72 73 29 0a 20 20 20 20 20 20 | ............ignored-dirs)....... | 
| 13d60 | 20 20 20 20 20 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 | .....(cl-some.............(lambd | 
| 13d80 | 61 20 28 73 75 66 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 73 75 | a.(suf)...............(string-su | 
| 13da0 | 66 66 69 78 2d 70 20 73 75 66 20 66 69 6c 65 20    74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ffix-p.suf.file.t))............. | 
| 13dc0 | 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 65 64 2d 66 69 6c 65 | projectile-globally-ignored-file | 
| 13de0 | 2d 73 75 66 66 69 78 65 73 29 29 29 0a 20 20 20    20 20 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66 | -suffixes)))......files)))..(def | 
| 13e00 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 65    65 70 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 | un.projectile-keep-ignored-files | 
| 13e20 | 20 28 70 72 6f 6a 65 63 74 20 76 63 73 20 66 69    6c 65 73 29 0a 20 20 22 46 69 6c 74 65 72 20 46 | .(project.vcs.files)..."Filter.F | 
| 13e40 | 49 4c 45 53 20 74 6f 20 72 65 74 61 69 6e 20 6f    6e 6c 79 20 74 68 6f 73 65 20 74 68 61 74 20 61 | ILES.to.retain.only.those.that.a | 
| 13e60 | 72 65 20 69 67 6e 6f 72 65 64 2e 22 0a 20 20 28    77 68 65 6e 20 66 69 6c 65 73 0a 20 20 20 20 28 | re.ignored."...(when.files.....( | 
| 13e80 | 63 6c 2d 72 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 66 | cl-remove-if-not......(lambda.(f | 
| 13ea0 | 69 6c 65 29 0a 20 20 20 20 20 20 20 28 63 6c 2d    73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 66 29 | ile)........(cl-some.(lambda.(f) | 
| 13ec0 | 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d    70 20 66 20 66 69 6c 65 29 29 20 66 69 6c 65 73 | .(string-prefix-p.f.file)).files | 
| 13ee0 | 29 29 0a 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 67 65 74 2d 72 65 70 6f 2d 69 67 6e | ))......(projectile-get-repo-ign | 
| 13f00 | 6f 72 65 64 2d 66 69 6c 65 73 20 70 72 6f 6a 65    63 74 20 76 63 73 29 29 29 29 0a 0a 28 64 65 66 | ored-files.project.vcs))))..(def | 
| 13f20 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 65    65 70 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 | un.projectile-keep-ignored-direc | 
| 13f40 | 74 6f 72 69 65 73 20 28 70 72 6f 6a 65 63 74 20    76 63 73 20 64 69 72 65 63 74 6f 72 69 65 73 29 | tories.(project.vcs.directories) | 
| 13f60 | 0a 20 20 22 47 65 74 20 69 67 6e 6f 72 65 64 20    66 69 6c 65 73 20 77 69 74 68 69 6e 20 65 61 63 | ..."Get.ignored.files.within.eac | 
| 13f80 | 68 20 6f 66 20 44 49 52 45 43 54 4f 52 49 45 53    2e 22 0a 20 20 28 77 68 65 6e 20 64 69 72 65 63 | h.of.DIRECTORIES."...(when.direc | 
| 13fa0 | 74 6f 72 69 65 73 0a 20 20 20 20 28 6c 65 74 20    28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 | tories.....(let.(result).......( | 
| 13fc0 | 64 6f 6c 69 73 74 20 28 64 69 72 20 64 69 72 65    63 74 6f 72 69 65 73 20 72 65 73 75 6c 74 29 0a | dolist.(dir.directories.result). | 
| 13fe0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65    73 75 6c 74 20 28 61 70 70 65 6e 64 20 72 65 73 | ........(setq.result.(append.res | 
| 14000 | 75 6c 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 | ult............................. | 
| 14020 | 20 28 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 64 69 | .(projectile-get-repo-ignored-di | 
| 14040 | 72 65 63 74 6f 72 79 20 70 72 6f 6a 65 63 74 20    64 69 72 20 76 63 73 29 29 29 29 0a 20 20 20 20 | rectory.project.dir.vcs))))..... | 
| 14060 | 20 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 61 | ..result)))..(defun.projectile-a | 
| 14080 | 64 64 2d 75 6e 69 67 6e 6f 72 65 64 20 28 70 72    6f 6a 65 63 74 20 76 63 73 20 66 69 6c 65 73 29 | dd-unignored.(project.vcs.files) | 
| 140a0 | 0a 20 20 22 54 68 69 73 20 61 64 64 73 20 75 6e    69 67 6e 6f 72 65 64 20 66 69 6c 65 73 20 74 6f | ..."This.adds.unignored.files.to | 
| 140c0 | 20 46 49 4c 45 53 2e 0a 0a 55 73 65 66 75 6c 20    62 65 63 61 75 73 65 20 74 68 65 20 56 43 53 20 | .FILES...Useful.because.the.VCS. | 
| 140e0 | 6d 61 79 20 6e 6f 74 20 72 65 74 75 72 6e 20 69    67 6e 6f 72 65 64 20 66 69 6c 65 73 20 61 74 20 | may.not.return.ignored.files.at. | 
| 14100 | 61 6c 6c 2e 20 20 49 6e 0a 74 68 69 73 20 63 61    73 65 20 75 6e 69 67 6e 6f 72 65 64 20 66 69 6c | all...In.this.case.unignored.fil | 
| 14120 | 65 73 20 77 69 6c 6c 20 62 65 20 61 62 73 65 6e    74 20 66 72 6f 6d 20 46 49 4c 45 53 2e 22 0a 20 | es.will.be.absent.from.FILES.".. | 
| 14140 | 20 28 6c 65 74 20 28 28 75 6e 69 67 6e 6f 72 65    64 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 | .(let.((unignored-files.(project | 
| 14160 | 69 6c 65 2d 6b 65 65 70 2d 69 67 6e 6f 72 65 64    2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 | ile-keep-ignored-files.......... | 
| 14180 | 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 20 20 | .................project........ | 
| 141a0 | 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 20 20 20 | ...................vcs.......... | 
| 141c0 | 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 69 | .................(projectile-uni | 
| 141e0 | 67 6e 6f 72 65 64 2d 66 69 6c 65 73 2d 72 65 6c    29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 69 | gnored-files-rel))).........(uni | 
| 14200 | 67 6e 6f 72 65 64 2d 70 61 74 68 73 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d | gnored-paths.(projectile-remove- | 
| 14220 | 69 67 6e 6f 72 65 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 | ignored......................... | 
| 14240 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 65    65 70 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 | ..(projectile-keep-ignored-direc | 
| 14260 | 74 6f 72 69 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 | tories.......................... | 
| 14280 | 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....................... | 
| 142a0 | 20 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 | .....vcs........................ | 
| 142c0 | 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 64 69 72 65 63 74 | ....(projectile-unignored-direct | 
| 142e0 | 6f 72 69 65 73 2d 72 65 6c 29 29 29 29 29 0a 20    20 20 20 28 61 70 70 65 6e 64 20 66 69 6c 65 73 | ories-rel))))).....(append.files | 
| 14300 | 20 75 6e 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73    20 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 68 73 | .unignored-files.unignored-paths | 
| 14320 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 62 75 66 66 65 72 73 2d 77 | )))..(defun.projectile-buffers-w | 
| 14340 | 69 74 68 2d 66 69 6c 65 20 28 62 75 66 66 65 72    73 29 0a 20 20 22 52 65 74 75 72 6e 20 6f 6e 6c | ith-file.(buffers)..."Return.onl | 
| 14360 | 79 20 74 68 6f 73 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 2e | y.those.BUFFERS.backed.by.files. | 
| 14380 | 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 6d 62 64 61 20 28 62 | "...(cl-remove-if-not.(lambda.(b | 
| 143a0 | 29 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e    61 6d 65 20 62 29 29 20 62 75 66 66 65 72 73 29 | ).(buffer-file-name.b)).buffers) | 
| 143c0 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 62 75 66 66 65 72 73 2d 77 69 74 | )..(defun.projectile-buffers-wit | 
| 143e0 | 68 2d 66 69 6c 65 2d 6f 72 2d 70 72 6f 63 65 73    73 20 28 62 75 66 66 65 72 73 29 0a 20 20 22 52 | h-file-or-process.(buffers)..."R | 
| 14400 | 65 74 75 72 6e 20 6f 6e 6c 79 20 74 68 6f 73 65    20 42 55 46 46 45 52 53 20 62 61 63 6b 65 64 20 | eturn.only.those.BUFFERS.backed. | 
| 14420 | 62 79 20 66 69 6c 65 73 20 6f 72 20 70 72 6f 63    65 73 73 65 73 2e 22 0a 20 20 28 63 6c 2d 72 65 | by.files.or.processes."...(cl-re | 
| 14440 | 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 28 6c 61 6d    62 64 61 20 28 62 29 20 28 6f 72 20 28 62 75 66 | move-if-not.(lambda.(b).(or.(buf | 
| 14460 | 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 62 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fer-file-name.b)................ | 
| 14480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 | .....................(get-buffer | 
| 144a0 | 2d 70 72 6f 63 65 73 73 20 62 29 29 29 20 62 75    66 66 65 72 73 29 29 0a 0a 28 64 65 66 75 6e 20 | -process.b))).buffers))..(defun. | 
| 144c0 | 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 28 26 6f 70 74 | projectile-project-buffers.(&opt | 
| 144e0 | 69 6f 6e 61 6c 20 70 72 6f 6a 65 63 74 29 0a 20    20 22 47 65 74 20 61 20 6c 69 73 74 20 6f 66 20 | ional.project)..."Get.a.list.of. | 
| 14500 | 61 20 70 72 6f 6a 65 63 74 27 73 20 62 75 66 66    65 72 73 2e 0a 49 66 20 50 52 4f 4a 45 43 54 20 | a.project's.buffers..If.PROJECT. | 
| 14520 | 69 73 20 6e 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 | is.not.specified.the.command.act | 
| 14540 | 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 6c 65 | s.on.the.current.project."...(le | 
| 14560 | 74 2a 20 28 28 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 | t*.((project-root.(or.project.(p | 
| 14580 | 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 20 | rojectile-acquire-root)))....... | 
| 145a0 | 20 20 20 28 61 6c 6c 2d 62 75 66 66 65 72 73 20    28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f | ...(all-buffers.(cl-remove-if-no | 
| 145c0 | 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 28 6c 61 6d 62 64 61 | t........................(lambda | 
| 145e0 | 20 28 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 20 20 20 20 20 | .(buffer)....................... | 
| 14600 | 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 20 | ...(projectile-project-buffer-p. | 
| 14620 | 62 75 66 66 65 72 20 70 72 6f 6a 65 63 74 2d 72    6f 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 | buffer.project-root))........... | 
| 14640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75    66 66 65 72 2d 6c 69 73 74 29 29 29 29 0a 20 20 | .............(buffer-list))))... | 
| 14660 | 20 20 28 69 66 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 | ..(if.projectile-buffers-filter- | 
| 14680 | 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20    20 28 66 75 6e 63 61 6c 6c 20 70 72 6f 6a 65 63 | function.........(funcall.projec | 
| 146a0 | 74 69 6c 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 20 61 6c 6c | tile-buffers-filter-function.all | 
| 146c0 | 2d 62 75 66 66 65 72 73 29 0a 20 20 20 20 20 20    61 6c 6c 2d 62 75 66 66 65 72 73 29 29 29 0a 0a | -buffers).......all-buffers))).. | 
| 146e0 | 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 72 65 6e | (defun.projectile-process-curren | 
| 14700 | 74 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72    73 20 28 61 63 74 69 6f 6e 29 0a 20 20 22 50 72 | t-project-buffers.(action)..."Pr | 
| 14720 | 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 62 75 66 66 | ocess.the.current.project's.buff | 
| 14740 | 65 72 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 | ers.using.ACTION."...(let.((proj | 
| 14760 | 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 6f 6a 65 63 74 2d | ect-buffers.(projectile-project- | 
| 14780 | 62 75 66 66 65 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 | buffers))).....(dolist.(buffer.p | 
| 147a0 | 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 29 0a    20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 61 | roject-buffers).......(funcall.a | 
| 147c0 | 63 74 69 6f 6e 20 62 75 66 66 65 72 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | ction.buffer))))..(defun.project | 
| 147e0 | 69 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 | ile-process-current-project-buff | 
| 14800 | 65 72 73 2d 63 75 72 72 65 6e 74 20 28 61 63 74    69 6f 6e 29 0a 20 20 22 49 6e 76 6f 6b 65 20 41 | ers-current.(action)..."Invoke.A | 
| 14820 | 43 54 49 4f 4e 20 6f 6e 20 65 76 65 72 79 20 70    72 6f 6a 65 63 74 20 62 75 66 66 65 72 20 77 69 | CTION.on.every.project.buffer.wi | 
| 14840 | 74 68 20 74 68 61 74 20 62 75 66 66 65 72 20 63    75 72 72 65 6e 74 2e 0a 41 43 54 49 4f 4e 20 69 | th.that.buffer.current..ACTION.i | 
| 14860 | 73 20 63 61 6c 6c 65 64 20 77 69 74 68 6f 75 74    20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 28 | s.called.without.arguments."...( | 
| 14880 | 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 6f 6a 65 63 74 69 6c | let.((project-buffers.(projectil | 
| 148a0 | 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 28 64 6f 6c 69 73 74 | e-project-buffers))).....(dolist | 
| 148c0 | 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 0a 20 20 20 20 20 20 | .(buffer.project-buffers)....... | 
| 148e0 | 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 0a 20 20 20 20 | (with-current-buffer.buffer..... | 
| 14900 | 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 61 63 74    69 6f 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | ....(funcall.action)))))..(defun | 
| 14920 | 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 66 69 6c 65 73 | .projectile-project-buffer-files | 
| 14940 | 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 6a    65 63 74 29 0a 20 20 22 47 65 74 20 61 20 6c 69 | .(&optional.project)..."Get.a.li | 
| 14960 | 73 74 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 27    73 20 62 75 66 66 65 72 20 66 69 6c 65 73 2e 0a | st.of.a.project's.buffer.files.. | 
| 14980 | 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 64 20 74 68 65 20 | If.PROJECT.is.not.specified.the. | 
| 149a0 | 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 74 20 70 72 6f 6a | command.acts.on.the.current.proj | 
| 149c0 | 65 63 74 2e 22 0a 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 | ect."...(let.((project-root.(or. | 
| 149e0 | 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 74 2d 72 6f 6f 74 | project.(projectile-project-root | 
| 14a00 | 29 29 29 29 0a 20 20 20 20 28 6d 61 70 63 61 72    0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 | )))).....(mapcar......(lambda.(b | 
| 14a20 | 75 66 66 65 72 29 0a 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 | uffer)........(file-relative-nam | 
| 14a40 | 65 0a 20 20 20 20 20 20 20 20 28 62 75 66 66 65    72 2d 66 69 6c 65 2d 6e 61 6d 65 20 62 75 66 66 | e.........(buffer-file-name.buff | 
| 14a60 | 65 72 29 0a 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 | er).........project-root))...... | 
| 14a80 | 28 70 72 6f 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 0a 20 20 | (projectile-buffers-with-file... | 
| 14aa0 | 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 73 20 | ....(projectile-project-buffers. | 
| 14ac0 | 70 72 6f 6a 65 63 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 | project)))))..(defun.projectile- | 
| 14ae0 | 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 70    20 28 62 75 66 66 65 72 20 70 72 6f 6a 65 63 74 | project-buffer-p.(buffer.project | 
| 14b00 | 2d 72 6f 6f 74 29 0a 20 20 22 43 68 65 63 6b 20    69 66 20 42 55 46 46 45 52 20 69 73 20 75 6e 64 | -root)..."Check.if.BUFFER.is.und | 
| 14b20 | 65 72 20 50 52 4f 4a 45 43 54 2d 52 4f 4f 54 2e    22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e | er.PROJECT-ROOT."...(with-curren | 
| 14b40 | 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a    20 20 20 20 28 6c 65 74 20 28 28 64 69 72 65 63 | t-buffer.buffer.....(let.((direc | 
| 14b60 | 74 6f 72 79 20 28 69 66 20 62 75 66 66 65 72 2d    66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 | tory.(if.buffer-file-name....... | 
| 14b80 | 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 | 
| 14ba0 | 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 0a 20 20 20 20 20 20 | rectory.buffer-file-name)....... | 
| 14bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f | .................default-directo | 
| 14be0 | 72 79 29 29 29 0a 20 20 20 20 20 20 28 61 6e 64    20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 70 72 | ry))).......(and.(not.(string-pr | 
| 14c00 | 65 66 69 78 2d 70 20 22 20 22 20 28 62 75 66 66    65 72 2d 6e 61 6d 65 20 62 75 66 66 65 72 29 29 | efix-p.".".(buffer-name.buffer)) | 
| 14c20 | 29 0a 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 69 67 | )............(not.(projectile-ig | 
| 14c40 | 6e 6f 72 65 64 2d 62 75 66 66 65 72 2d 70 20 62    75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 | nored-buffer-p.buffer))......... | 
| 14c60 | 20 20 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20    20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d | ...directory............(string- | 
| 14c80 | 65 71 75 61 6c 20 28 66 69 6c 65 2d 72 65 6d 6f    74 65 2d 70 20 64 69 72 65 63 74 6f 72 79 29 0a | equal.(file-remote-p.directory). | 
| 14ca0 | 20 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 65 2d 72 | .........................(file-r | 
| 14cc0 | 65 6d 6f 74 65 2d 70 20 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 | emote-p.project-root)).......... | 
| 14ce0 | 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d    61 74 63 68 2d 70 20 22 5e 68 74 74 70 5c 5c 28 | ..(not.(string-match-p."^http\\( | 
| 14d00 | 73 5c 5c 29 3f 3a 2f 2f 22 20 64 69 72 65 63 74    6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 | s\\)?://".directory))........... | 
| 14d20 | 20 28 73 74 72 69 6e 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 | .(string-prefix-p.project-root.( | 
| 14d40 | 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 64 69    72 65 63 74 6f 72 79 29 20 28 65 71 20 73 79 73 | file-truename.directory).(eq.sys | 
| 14d60 | 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64 6f 77    73 2d 6e 74 29 29 29 29 29 29 0a 0a 28 64 65 66 | tem-type.'windows-nt))))))..(def | 
| 14d80 | 75 6e 20 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 28 | un.projectile-ignored-buffer-p.( | 
| 14da0 | 62 75 66 66 65 72 29 0a 20 20 22 43 68 65 63 6b    20 69 66 20 42 55 46 46 45 52 20 73 68 6f 75 6c | buffer)..."Check.if.BUFFER.shoul | 
| 14dc0 | 64 20 62 65 20 69 67 6e 6f 72 65 64 2e 22 0a 20    20 28 6f 72 0a 20 20 20 28 77 69 74 68 2d 63 75 | d.be.ignored."...(or....(with-cu | 
| 14de0 | 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66    66 65 72 0a 20 20 20 20 20 28 63 6c 2d 73 6f 6d | rrent-buffer.buffer......(cl-som | 
| 14e00 | 65 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20    28 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 28 | e.......(lambda.(name).........( | 
| 14e20 | 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 6e    61 6d 65 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 | string-match-p.name.(buffer-name | 
| 14e40 | 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 67 | ))).......projectile-globally-ig | 
| 14e60 | 6e 6f 72 65 64 2d 62 75 66 66 65 72 73 29 29 0a    20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 | nored-buffers))....(with-current | 
| 14e80 | 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20    20 20 20 20 28 63 6c 2d 73 6f 6d 65 0a 20 20 20 | -buffer.buffer......(cl-some.... | 
| 14ea0 | 20 20 20 28 6c 61 6d 62 64 61 20 28 6d 6f 64 65    29 0a 20 20 20 20 20 20 20 20 28 73 74 72 69 6e | ...(lambda.(mode).........(strin | 
| 14ec0 | 67 2d 6d 61 74 63 68 2d 70 20 28 63 6f 6e 63 61    74 20 22 5e 22 20 6d 6f 64 65 20 22 24 22 29 0a | g-match-p.(concat."^".mode."$"). | 
| 14ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 2d | ........................(symbol- | 
| 14f00 | 6e 61 6d 65 20 6d 61 6a 6f 72 2d 6d 6f 64 65 29    29 29 0a 20 20 20 20 20 20 70 72 6f 6a 65 63 74 | name.major-mode))).......project | 
| 14f20 | 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e    6f 72 65 64 2d 6d 6f 64 65 73 29 29 29 29 0a 0a | ile-globally-ignored-modes)))).. | 
| 14f40 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 72 65 63 65 6e 74 6c 79 2d 61 63 74 69 76 | (defun.projectile-recently-activ | 
| 14f60 | 65 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 47 65    74 20 6c 69 73 74 20 6f 66 20 72 65 63 65 6e 74 | e-files.()..."Get.list.of.recent | 
| 14f80 | 6c 79 20 61 63 74 69 76 65 20 66 69 6c 65 73 2e    0a 0a 46 69 6c 65 73 20 61 72 65 20 6f 72 64 65 | ly.active.files...Files.are.orde | 
| 14fa0 | 72 65 64 20 62 79 20 72 65 63 65 6e 74 6c 79 20    61 63 74 69 76 65 20 62 75 66 66 65 72 73 2c 20 | red.by.recently.active.buffers,. | 
| 14fc0 | 61 6e 64 20 74 68 65 6e 20 72 65 63 65 6e 74 6c    79 0a 6f 70 65 6e 65 64 20 74 68 72 6f 75 67 68 | and.then.recently.opened.through | 
| 14fe0 | 20 75 73 65 20 6f 66 20 72 65 63 65 6e 74 66 2e    22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 | .use.of.recentf."...(let.((proje | 
| 15000 | 63 74 2d 62 75 66 66 65 72 2d 66 69 6c 65 73 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | ct-buffer-files.(projectile-proj | 
| 15020 | 65 63 74 2d 62 75 66 66 65 72 2d 66 69 6c 65 73    29 29 29 0a 20 20 20 20 28 61 70 70 65 6e 64 20 | ect-buffer-files))).....(append. | 
| 15040 | 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 66    69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 | project-buffer-files............ | 
| 15060 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 66    66 65 72 65 6e 63 65 0a 20 20 20 20 20 20 20 20 | .(projectile-difference......... | 
| 15080 | 20 20 20 20 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 0a | .....(projectile-recentf-files). | 
| 150a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f    6a 65 63 74 2d 62 75 66 66 65 72 2d 66 69 6c 65 | .............project-buffer-file | 
| 150c0 | 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 70 72 6f 6a 65 63 74 | s))))..(defun.projectile-project | 
| 150e0 | 2d 62 75 66 66 65 72 2d 6e 61 6d 65 73 20 28 29    0a 20 20 22 47 65 74 20 61 20 6c 69 73 74 20 6f | -buffer-names.()..."Get.a.list.o | 
| 15100 | 66 20 70 72 6f 6a 65 63 74 20 62 75 66 66 65 72    20 6e 61 6d 65 73 2e 22 0a 20 20 28 6d 61 70 63 | f.project.buffer.names."...(mapc | 
| 15120 | 61 72 20 23 27 62 75 66 66 65 72 2d 6e 61 6d 65    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | ar.#'buffer-name.(projectile-pro | 
| 15140 | 6a 65 63 74 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 | ject-buffers)))..(defun.projecti | 
| 15160 | 6c 65 2d 70 72 65 70 65 6e 64 2d 70 72 6f 6a 65    63 74 2d 6e 61 6d 65 20 28 73 74 72 69 6e 67 29 | le-prepend-project-name.(string) | 
| 15180 | 0a 20 20 22 50 72 65 70 65 6e 64 20 74 68 65 20    63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 27 | ..."Prepend.the.current.project' | 
| 151a0 | 73 20 6e 61 6d 65 20 74 6f 20 53 54 52 49 4e 47    2e 22 0a 20 20 28 66 6f 72 6d 61 74 20 22 5b 25 | s.name.to.STRING."...(format."[% | 
| 151c0 | 73 5d 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 65 29 | s].%s".(projectile-project-name) | 
| 151e0 | 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 61 | .string))..(defun.projectile-rea | 
| 15200 | 64 2d 62 75 66 66 65 72 2d 74 6f 2d 73 77 69 74    63 68 20 28 70 72 6f 6d 70 74 29 0a 20 20 22 52 | d-buffer-to-switch.(prompt)..."R | 
| 15220 | 65 61 64 20 74 68 65 20 6e 61 6d 65 20 6f 66 20    61 20 62 75 66 66 65 72 20 74 6f 20 73 77 69 74 | ead.the.name.of.a.buffer.to.swit | 
| 15240 | 63 68 20 74 6f 2c 20 70 72 6f 6d 70 74 69 6e 67    20 77 69 74 68 20 50 52 4f 4d 50 54 2e 0a 0a 54 | ch.to,.prompting.with.PROMPT...T | 
| 15260 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 63    6c 75 64 65 73 20 74 68 65 20 63 75 72 72 65 6e | his.function.excludes.the.curren | 
| 15280 | 74 20 62 75 66 66 65 72 20 66 72 6f 6d 20 74 68    65 20 6f 66 66 65 72 65 64 0a 63 68 6f 69 63 65 | t.buffer.from.the.offered.choice | 
| 152a0 | 73 2e 22 0a 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 | s."...(projectile-completing-rea | 
| 152c0 | 64 0a 20 20 20 70 72 6f 6d 70 74 0a 20 20 20 28    64 65 6c 65 74 65 20 28 62 75 66 66 65 72 2d 6e | d....prompt....(delete.(buffer-n | 
| 152e0 | 61 6d 65 20 28 63 75 72 72 65 6e 74 2d 62 75 66    66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ame.(current-buffer))........... | 
| 15300 | 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 6e 61 6d 65 | .(projectile-project-buffer-name | 
| 15320 | 73 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74    6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f | s))))..;;;###autoload.(defun.pro | 
| 15340 | 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d 74    6f 2d 62 75 66 66 65 72 20 28 29 0a 20 20 22 53 | jectile-switch-to-buffer.()..."S | 
| 15360 | 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 2e 22 0a 20 20 28 69 | witch.to.a.project.buffer."...(i | 
| 15380 | 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 0a | nteractive)...(switch-to-buffer. | 
| 153a0 | 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 77 | ...(projectile-read-buffer-to-sw | 
| 153c0 | 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 3b | itch."Switch.to.buffer:.")))..;; | 
| 153e0 | 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 | 
| 15400 | 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 20 28 29 0a | witch-to-buffer-other-window.(). | 
| 15420 | 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 | 
| 15440 | 64 20 73 68 6f 77 20 69 74 20 69 6e 20 61 6e 6f    74 68 65 72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 | d.show.it.in.another.window."... | 
| 15460 | 28 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 | (interactive)...(switch-to-buffe | 
| 15480 | 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 0a 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 | r-other-window....(projectile-re | 
| 154a0 | 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 6f 20 62 | ad-buffer-to-switch."Switch.to.b | 
| 154c0 | 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 64 65 66 | uffer:.")))..;;;###autoload.(def | 
| 154e0 | 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 72 2d 6f | un.projectile-switch-to-buffer-o | 
| 15500 | 74 68 65 72 2d 66 72 61 6d 65 20 28 29 0a 20 20    22 53 77 69 74 63 68 20 74 6f 20 61 20 70 72 6f | ther-frame.()..."Switch.to.a.pro | 
| 15520 | 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 6e 6f 74 68 | ject.buffer.and.show.it.in.anoth | 
| 15540 | 65 72 20 66 72 61 6d 65 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 77 | er.frame."...(interactive)...(sw | 
| 15560 | 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 0a 20 20 20 28 70 | itch-to-buffer-other-frame....(p | 
| 15580 | 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 69 74 63 68 20 | rojectile-read-buffer-to-switch. | 
| 155a0 | 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 3b 3b 23 23 23 61 | "Switch.to.buffer:.")))..;;;###a | 
| 155c0 | 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 70 6c 61 | utoload.(defun.projectile-displa | 
| 155e0 | 79 2d 62 75 66 66 65 72 20 28 29 0a 20 20 22 44    69 73 70 6c 61 79 20 61 20 70 72 6f 6a 65 63 74 | y-buffer.()..."Display.a.project | 
| 15600 | 20 62 75 66 66 65 72 20 69 6e 20 61 6e 6f 74 68    65 72 20 77 69 6e 64 6f 77 20 77 69 74 68 6f 75 | .buffer.in.another.window.withou | 
| 15620 | 74 20 73 65 6c 65 63 74 69 6e 67 20 69 74 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 | t.selecting.it."...(interactive) | 
| 15640 | 0a 20 20 28 64 69 73 70 6c 61 79 2d 62 75 66 66    65 72 0a 20 20 20 28 70 72 6f 6a 65 63 74 69 6c | ...(display-buffer....(projectil | 
| 15660 | 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61    64 0a 20 20 20 20 22 44 69 73 70 6c 61 79 20 62 | e-completing-read....."Display.b | 
| 15680 | 75 66 66 65 72 3a 20 22 0a 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | uffer:.".....(projectile-project | 
| 156a0 | 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 75 74 6f 6c 6f 61 | -buffer-names))))..;;;###autoloa | 
| 156c0 | 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 62 75 66 66 | d.(defun.projectile-project-buff | 
| 156e0 | 65 72 73 2d 6f 74 68 65 72 2d 62 75 66 66 65 72    20 28 29 0a 20 20 22 53 77 69 74 63 68 20 74 6f | ers-other-buffer.()..."Switch.to | 
| 15700 | 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74    6c 79 20 73 65 6c 65 63 74 65 64 20 62 75 66 66 | .the.most.recently.selected.buff | 
| 15720 | 65 72 20 70 72 6f 6a 65 63 74 20 62 75 66 66 65    72 2e 0a 4f 6e 6c 79 20 62 75 66 66 65 72 73 20 | er.project.buffer..Only.buffers. | 
| 15740 | 6e 6f 74 20 76 69 73 69 62 6c 65 20 69 6e 20 77    69 6e 64 6f 77 73 20 61 72 65 20 72 65 74 75 72 | not.visible.in.windows.are.retur | 
| 15760 | 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 73 77 69 74 63 68 2d | ned."...(interactive)...(switch- | 
| 15780 | 74 6f 2d 62 75 66 66 65 72 20 28 63 61 72 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | to-buffer.(car.(projectile-proje | 
| 157a0 | 63 74 2d 62 75 66 66 65 72 73 2d 6e 6f 6e 2d 76    69 73 69 62 6c 65 29 29 29 20 6e 69 6c 20 74 29 | ct-buffers-non-visible))).nil.t) | 
| 157c0 | 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 62 75 66 66 | ..(defun.projectile-project-buff | 
| 157e0 | 65 72 73 2d 6e 6f 6e 2d 76 69 73 69 62 6c 65 20    28 29 0a 20 20 22 47 65 74 20 61 20 6c 69 73 74 | ers-non-visible.()..."Get.a.list | 
| 15800 | 20 6f 66 20 6e 6f 6e 20 76 69 73 69 62 6c 65 20    70 72 6f 6a 65 63 74 20 62 75 66 66 65 72 73 2e | .of.non.visible.project.buffers. | 
| 15820 | 22 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69    66 2d 6e 6f 74 0a 20 20 20 28 6c 61 6d 62 64 61 | "...(cl-remove-if-not....(lambda | 
| 15840 | 20 28 62 75 66 66 65 72 29 0a 20 20 20 20 20 28    6e 6f 74 20 28 67 65 74 2d 62 75 66 66 65 72 2d | .(buffer)......(not.(get-buffer- | 
| 15860 | 77 69 6e 64 6f 77 20 62 75 66 66 65 72 20 27 76    69 73 69 62 6c 65 29 29 29 0a 20 20 20 28 70 72 | window.buffer.'visible)))....(pr | 
| 15880 | 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 0a 3b 3b 3b | ojectile-project-buffers)))..;;; | 
| 158a0 | 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 6d 75 | ###autoload.(defun.projectile-mu | 
| 158c0 | 6c 74 69 2d 6f 63 63 75 72 20 28 26 6f 70 74 69    6f 6e 61 6c 20 6e 6c 69 6e 65 73 29 0a 20 20 22 | lti-occur.(&optional.nlines)..." | 
| 158e0 | 44 6f 20 61 20 60 6d 75 6c 74 69 2d 6f 63 63 75    72 27 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 | Do.a.`multi-occur'.in.the.projec | 
| 15900 | 74 27 73 20 62 75 66 66 65 72 73 2e 0a 57 69 74    68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d | t's.buffers..With.a.prefix.argum | 
| 15920 | 65 6e 74 2c 20 73 68 6f 77 20 4e 4c 49 4e 45 53    20 6f 66 20 63 6f 6e 74 65 78 74 2e 22 0a 20 20 | ent,.show.NLINES.of.context."... | 
| 15940 | 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 6a 65 | (interactive."P")...(let.((proje | 
| 15960 | 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 0a 20 | ct.(projectile-acquire-root))).. | 
| 15980 | 20 20 20 28 6d 75 6c 74 69 2d 6f 63 63 75 72 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | ...(multi-occur.(projectile-proj | 
| 159a0 | 65 63 74 2d 62 75 66 66 65 72 73 20 70 72 6f 6a    65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ect-buffers.project)............ | 
| 159c0 | 20 20 20 20 20 20 28 63 61 72 20 28 6f 63 63 75    72 2d 72 65 61 64 2d 70 72 69 6d 61 72 79 2d 61 | ......(car.(occur-read-primary-a | 
| 159e0 | 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 6e 6c 69 6e 65 73 29 29 29 | rgs))..................nlines))) | 
| 15a00 | 0a 0a 28 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 | ..(defun.projectile-normalise-pa | 
| 15a20 | 74 68 73 20 28 70 61 74 74 65 72 6e 73 29 0a 20    20 22 52 65 6d 6f 76 65 20 6c 65 61 64 69 6e 67 | ths.(patterns)..."Remove.leading | 
| 15a40 | 20 60 2f 27 20 66 72 6f 6d 20 74 68 65 20 65 6c    65 6d 65 6e 74 73 20 6f 66 20 50 41 54 54 45 52 | .`/'.from.the.elements.of.PATTER | 
| 15a60 | 4e 53 2e 22 0a 20 20 28 64 65 6c 71 20 6e 69 6c    20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 | NS."...(delq.nil.(mapcar.(lambda | 
| 15a80 | 20 28 70 61 74 29 20 28 61 6e 64 20 28 73 74 72    69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2f 22 | .(pat).(and.(string-prefix-p."/" | 
| 15aa0 | 20 70 61 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 | .pat)........................... | 
| 15ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    72 65 6d 6f 76 65 20 74 68 65 20 6c 65 61 64 69 | .............;;.remove.the.leadi | 
| 15ae0 | 6e 67 20 2f 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ng./............................ | 
| 15b00 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62    73 74 72 69 6e 67 20 70 61 74 20 31 29 29 29 0a | ............(substring.pat.1))). | 
| 15b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 70 61 74 74 65 72 6e 73 29 29 29 0a | ....................patterns))). | 
| 15b40 | 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 70 61 74 68 73 20 | .(defun.projectile-expand-paths. | 
| 15b60 | 28 70 61 74 68 73 29 0a 20 20 22 45 78 70 61 6e    64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f | (paths)..."Expand.the.elements.o | 
| 15b80 | 66 20 50 41 54 48 53 2e 0a 0a 45 6c 65 6d 65 6e    74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 69 | f.PATHS...Elements.containing.wi | 
| 15ba0 | 6c 64 63 61 72 64 73 20 61 72 65 20 65 78 70 61    6e 64 65 64 20 61 6e 64 20 73 70 6c 69 63 65 64 | ldcards.are.expanded.and.spliced | 
| 15bc0 | 20 69 6e 74 6f 20 74 68 65 0a 72 65 73 75 6c 74    69 6e 67 20 70 61 74 68 73 2e 20 20 54 68 65 20 | .into.the.resulting.paths...The. | 
| 15be0 | 72 65 74 75 72 6e 65 64 20 50 41 54 48 53 20 61    72 65 20 61 62 73 6f 6c 75 74 65 2c 20 62 61 73 | returned.PATHS.are.absolute,.bas | 
| 15c00 | 65 64 20 6f 6e 20 74 68 65 0a 70 72 6f 6a 65 63    74 69 6c 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f | ed.on.the.projectile.project.roo | 
| 15c20 | 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 66    61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 | t."...(let.((default-directory.( | 
| 15c40 | 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 28 | projectile-project-root))).....( | 
| 15c60 | 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 0a 20 20 20 20 20 | projectile-flatten.(mapcar...... | 
| 15c80 | 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 70 61 74 | ....................(lambda.(pat | 
| 15ca0 | 74 65 72 6e 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tern)........................... | 
| 15cc0 | 20 28 6f 72 20 28 66 69 6c 65 2d 65 78 70 61 6e    64 2d 77 69 6c 64 63 61 72 64 73 20 70 61 74 74 | .(or.(file-expand-wildcards.patt | 
| 15ce0 | 65 72 6e 20 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 | ern.t).......................... | 
| 15d00 | 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 6f 6f 74 20 70 61 | ......(projectile-expand-root.pa | 
| 15d20 | 74 74 65 72 6e 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 | ttern)))........................ | 
| 15d40 | 20 20 70 61 74 68 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 6e | ..paths))))..(defun.projectile-n | 
| 15d60 | 6f 72 6d 61 6c 69 73 65 2d 70 61 74 74 65 72 6e    73 20 28 70 61 74 74 65 72 6e 73 29 0a 20 20 22 | ormalise-patterns.(patterns)..." | 
| 15d80 | 52 65 6d 6f 76 65 20 70 61 74 68 73 20 66 72 6f    6d 20 50 41 54 54 45 52 4e 53 2e 22 0a 20 20 28 | Remove.paths.from.PATTERNS."...( | 
| 15da0 | 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 20 28 6c 61    6d 62 64 61 20 28 70 61 74 29 20 28 73 74 72 69 | cl-remove-if.(lambda.(pat).(stri | 
| 15dc0 | 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2f 22 20    70 61 74 29 29 20 70 61 74 74 65 72 6e 73 29 29 | ng-prefix-p."/".pat)).patterns)) | 
| 15de0 | 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 6d 61 6b 65 2d 72 65 6c 61 74 69 76 | ..(defun.projectile-make-relativ | 
| 15e00 | 65 2d 74 6f 2d 72 6f 6f 74 20 28 66 69 6c 65 73    29 0a 20 20 22 4d 61 6b 65 20 46 49 4c 45 53 20 | e-to-root.(files)..."Make.FILES. | 
| 15e20 | 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 22 0a 20 | relative.to.the.project.root.".. | 
| 15e40 | 20 28 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 74 69 6c 65 | .(let.((project-root.(projectile | 
| 15e60 | 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29    0a 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 | -project-root))).....(mapcar.(la | 
| 15e80 | 6d 62 64 61 20 28 66 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 | mbda.(f).(file-relative-name.f.p | 
| 15ea0 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 66 69    6c 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 | roject-root)).files)))..(defun.p | 
| 15ec0 | 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 79 2d 70 0a 20 20 | rojectile-ignored-directory-p... | 
| 15ee0 | 20 20 28 64 69 72 65 63 74 6f 72 79 20 26 6f 70    74 69 6f 6e 61 6c 20 69 67 6e 6f 72 65 64 2d 64 | ..(directory.&optional.ignored-d | 
| 15f00 | 69 72 65 63 74 6f 72 69 65 73 20 6c 6f 63 61 6c    2d 64 69 72 65 63 74 6f 72 79 20 67 6c 6f 62 61 | irectories.local-directory.globa | 
| 15f20 | 6c 6c 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 22 43 68 65 63 | lly-ignored-directories)..."Chec | 
| 15f40 | 6b 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 73    68 6f 75 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 | k.if.DIRECTORY.should.be.ignored | 
| 15f60 | 2e 0a 0a 50 72 65 2d 63 6f 6d 70 75 74 65 64 20    6c 69 73 74 73 20 6f 66 20 49 47 4e 4f 52 45 44 | ...Pre-computed.lists.of.IGNORED | 
| 15f80 | 2d 44 49 52 45 43 54 4f 52 49 45 53 20 61 6e 64    20 47 4c 4f 42 41 4c 4c 59 2d 49 47 4e 4f 52 45 | -DIRECTORIES.and.GLOBALLY-IGNORE | 
| 15fa0 | 44 2d 44 49 52 45 43 54 4f 52 49 45 53 0a 61 6e    64 20 74 68 65 20 4c 4f 43 41 4c 2d 44 49 52 45 | D-DIRECTORIES.and.the.LOCAL-DIRE | 
| 15fc0 | 43 54 4f 52 59 20 6e 61 6d 65 20 6d 61 79 20 6f    70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 70 72 6f | CTORY.name.may.optionally.be.pro | 
| 15fe0 | 76 69 64 65 64 2e 22 0a 20 20 28 6c 65 74 20 28    28 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f | vided."...(let.((ignored-directo | 
| 16000 | 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 70 72 | ries.(or.ignored-directories.(pr | 
| 16020 | 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 29 0a | ojectile-ignored-directories))). | 
| 16040 | 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 63 74 | ........(globally-ignored-direct | 
| 16060 | 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 65 63 | ories.(or.globally-ignored-direc | 
| 16080 | 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 6e 6f | tories.(projectile-globally-igno | 
| 160a0 | 72 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 6e 61    6d 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 | red-directory-names))).........( | 
| 160c0 | 6c 6f 63 61 6c 2d 64 69 72 65 63 74 6f 72 79 20    28 6f 72 20 6c 6f 63 61 6c 2d 64 69 72 65 63 74 | local-directory.(or.local-direct | 
| 160e0 | 6f 72 79 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 | ory.(file-name-nondirectory.(dir | 
| 16100 | 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65    20 64 69 72 65 63 74 6f 72 79 29 29 29 29 29 0a | ectory-file-name.directory))))). | 
| 16120 | 20 20 20 20 28 6f 72 20 28 6d 65 6d 62 65 72 20    64 69 72 65 63 74 6f 72 79 20 69 67 6e 6f 72 65 | ....(or.(member.directory.ignore | 
| 16140 | 64 2d 64 69 72 65 63 74 6f 72 69 65 73 29 0a 20    20 20 20 20 20 20 20 28 63 6c 2d 73 6f 6d 65 0a | d-directories).........(cl-some. | 
| 16160 | 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 20 20 20 20 20 | .........(lambda.(name)......... | 
| 16180 | 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 65 63 74 6f 72 | ...(string-match-p.name.director | 
| 161a0 | 79 29 29 0a 20 20 20 20 20 20 20 20 20 70 72 6f    6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 2d 69 | y))..........projectile-global-i | 
| 161c0 | 67 6e 6f 72 65 2d 66 69 6c 65 2d 70 61 74 74 65    72 6e 73 29 0a 20 20 20 20 20 20 20 20 28 6d 65 | gnore-file-patterns).........(me | 
| 161e0 | 6d 62 65 72 20 6c 6f 63 61 6c 2d 64 69 72 65 63    74 6f 72 79 20 67 6c 6f 62 61 6c 6c 79 2d 69 67 | mber.local-directory.globally-ig | 
| 16200 | 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65    73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | nored-directories))))..(defun.pr | 
| 16220 | 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64    2d 66 69 6c 65 2d 70 20 28 66 69 6c 65 20 26 6f | ojectile-ignored-file-p.(file.&o | 
| 16240 | 70 74 69 6f 6e 61 6c 20 69 67 6e 6f 72 65 64 2d    66 69 6c 65 73 29 0a 20 20 22 43 68 65 63 6b 20 | ptional.ignored-files)..."Check. | 
| 16260 | 69 66 20 46 49 4c 45 20 73 68 6f 75 6c 64 20 62    65 20 69 67 6e 6f 72 65 64 2e 0a 0a 41 20 70 72 | if.FILE.should.be.ignored...A.pr | 
| 16280 | 65 2d 63 6f 6d 70 75 74 65 64 20 6c 69 73 74 20    6f 66 20 49 47 4e 4f 52 45 44 2d 46 49 4c 45 53 | e-computed.list.of.IGNORED-FILES | 
| 162a0 | 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 0a 20 20 | .may.optionally.be.provided."... | 
| 162c0 | 28 6f 72 0a 20 20 20 28 6d 65 6d 62 65 72 20 66    69 6c 65 20 28 6f 72 20 69 67 6e 6f 72 65 64 2d | (or....(member.file.(or.ignored- | 
| 162e0 | 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 65 73 29 | files.(projectile-ignored-files) | 
| 16300 | 29 29 0a 20 20 20 28 63 6c 2d 73 6f 6d 65 0a 20    20 20 20 28 6c 61 6d 62 64 61 20 28 6e 61 6d 65 | ))....(cl-some.....(lambda.(name | 
| 16320 | 29 0a 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 66 69 6c | ).......(string-match-p.name.fil | 
| 16340 | 65 29 29 0a 20 20 20 20 70 72 6f 6a 65 63 74 69    6c 65 2d 67 6c 6f 62 61 6c 2d 69 67 6e 6f 72 65 | e)).....projectile-global-ignore | 
| 16360 | 2d 66 69 6c 65 2d 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 | -file-patterns)))..(defun.projec | 
| 16380 | 74 69 6c 65 2d 63 68 65 63 6b 2d 70 61 74 74 65    72 6e 2d 70 20 28 66 69 6c 65 20 70 61 74 74 65 | tile-check-pattern-p.(file.patte | 
| 163a0 | 72 6e 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20    46 49 4c 45 20 6d 61 74 63 68 65 73 20 67 6c 6f | rn)..."Check.if.FILE.matches.glo | 
| 163c0 | 62 62 69 6e 67 20 50 41 54 54 45 52 4e 2e 22 0a    20 20 28 6f 72 20 28 73 74 72 69 6e 67 2d 73 75 | bbing.PATTERN."...(or.(string-su | 
| 163e0 | 66 66 69 78 2d 70 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 | ffix-p.(directory-file-name.patt | 
| 16400 | 65 72 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 | ern)........................(dir | 
| 16420 | 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65    20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 28 6d | ectory-file-name.file)).......(m | 
| 16440 | 65 6d 62 65 72 20 66 69 6c 65 20 28 66 69 6c 65    2d 65 78 70 61 6e 64 2d 77 69 6c 64 63 61 72 64 | ember.file.(file-expand-wildcard | 
| 16460 | 73 20 70 61 74 74 65 72 6e 20 74 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | s.pattern.t))))..(defun.projecti | 
| 16480 | 6c 65 2d 69 67 6e 6f 72 65 64 2d 72 65 6c 2d 70    20 28 66 69 6c 65 20 64 69 72 65 63 74 6f 72 79 | le-ignored-rel-p.(file.directory | 
| 164a0 | 20 70 61 74 74 65 72 6e 73 29 0a 20 20 22 43 68    65 63 6b 20 69 66 20 46 49 4c 45 20 73 68 6f 75 | .patterns)..."Check.if.FILE.shou | 
| 164c0 | 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 20 72 65    6c 61 74 69 76 65 20 74 6f 20 44 49 52 45 43 54 | ld.be.ignored.relative.to.DIRECT | 
| 164e0 | 4f 52 59 2e 0a 50 41 54 54 45 52 4e 53 20 73 68    6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 66 6f | ORY..PATTERNS.should.have.the.fo | 
| 16500 | 72 6d 3a 20 28 69 67 6e 6f 72 65 64 20 2e 20 75    6e 69 67 6e 6f 72 65 64 29 22 0a 20 20 28 6c 65 | rm:.(ignored...unignored)"...(le | 
| 16520 | 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65    63 74 6f 72 79 20 64 69 72 65 63 74 6f 72 79 29 | t.((default-directory.directory) | 
| 16540 | 29 0a 20 20 20 20 28 61 6e 64 20 28 63 6c 2d 73    6f 6d 65 0a 20 20 20 20 20 20 20 20 20 20 28 6c | ).....(and.(cl-some...........(l | 
| 16560 | 61 6d 62 64 61 20 28 70 61 74 29 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 63 68 65 63 6b 2d 70 61 | ambda.(pat).(projectile-check-pa | 
| 16580 | 74 74 65 72 6e 2d 70 20 66 69 6c 65 20 70 61 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 | ttern-p.file.pat))...........(ca | 
| 165a0 | 72 20 70 61 74 74 65 72 6e 73 29 29 0a 20 20 20    20 20 20 20 20 20 28 63 6c 2d 6e 6f 74 61 6e 79 | r.patterns))..........(cl-notany | 
| 165c0 | 0a 20 20 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 | ...........(lambda.(pat).(projec | 
| 165e0 | 74 69 6c 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 | tile-check-pattern-p.file.pat)). | 
| 16600 | 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 70    61 74 74 65 72 6e 73 29 29 29 29 29 0a 0a 28 64 | ..........(cdr.patterns)))))..(d | 
| 16620 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 20 28 29 | efun.projectile-ignored-files.() | 
| 16640 | 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 66 69 6c 65 73 | ..."Return.list.of.ignored.files | 
| 16660 | 2e 0a 0a 54 68 61 74 27 73 20 61 20 63 6f 6d 62    69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 67 | ...That's.a.combination.of.the.g | 
| 16680 | 6c 6f 62 61 6c 6c 79 20 69 67 6e 6f 72 65 64 20    66 69 6c 65 73 20 61 6e 64 0a 66 69 6c 65 73 20 | lobally.ignored.files.and.files. | 
| 166a0 | 69 67 6e 6f 72 65 64 20 69 6e 20 61 20 70 72 6f    6a 65 63 74 27 73 20 64 69 72 63 6f 6e 66 69 67 | ignored.in.a.project's.dirconfig | 
| 166c0 | 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 28 | ."...(projectile-difference....( | 
| 166e0 | 6d 61 70 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 | mapcar.....#'projectile-expand-r | 
| 16700 | 6f 6f 74 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 | oot.....(append......projectile- | 
| 16720 | 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64    2d 66 69 6c 65 73 0a 20 20 20 20 20 28 70 72 6f | globally-ignored-files......(pro | 
| 16740 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 29 29 29 | jectile-project-ignored-files))) | 
| 16760 | 0a 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 6c 65 73 29 | ....(projectile-unignored-files) | 
| 16780 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 | ))..(defun.projectile-globally-i | 
| 167a0 | 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 79    2d 6e 61 6d 65 73 20 28 29 0a 20 20 22 52 65 74 | gnored-directory-names.()..."Ret | 
| 167c0 | 75 72 6e 20 6c 69 73 74 20 6f 66 20 69 67 6e 6f    72 65 64 20 64 69 72 65 63 74 6f 72 79 20 6e 61 | urn.list.of.ignored.directory.na | 
| 167e0 | 6d 65 73 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 64 69 66 66 65 72 65 6e 63 65 0a 20 | mes."...(projectile-difference.. | 
| 16800 | 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 65 64 2d 64 69 | ..projectile-globally-ignored-di | 
| 16820 | 72 65 63 74 6f 72 69 65 73 0a 20 20 20 70 72 6f    6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 | rectories....projectile-globally | 
| 16840 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 64 69 72 65 63    74 6f 72 69 65 73 29 29 0a 0a 28 64 65 66 75 6e | -unignored-directories))..(defun | 
| 16860 | 20 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 20 | .projectile-ignored-directories. | 
| 16880 | 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 | 
| 168a0 | 65 63 74 6f 72 69 65 73 2e 22 0a 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 64 69 66 66 65 72 65 | ectories."...(projectile-differe | 
| 168c0 | 6e 63 65 0a 20 20 20 28 6d 61 70 63 61 72 0a 20    20 20 20 23 27 66 69 6c 65 2d 6e 61 6d 65 2d 61 | nce....(mapcar.....#'file-name-a | 
| 168e0 | 73 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20    28 6d 61 70 63 61 72 0a 20 20 20 20 20 23 27 70 | s-directory.....(mapcar......#'p | 
| 16900 | 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 28 61 70 70 65 | rojectile-expand-root......(appe | 
| 16920 | 6e 64 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 67 6e | nd.......projectile-globally-ign | 
| 16940 | 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73    0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | ored-directories.......(projecti | 
| 16960 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 69 67 6e 6f 72    65 64 2d 64 69 72 65 63 74 6f 72 69 65 73 29 29 | le-project-ignored-directories)) | 
| 16980 | 29 29 0a 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 64 69 72 65 | ))....(projectile-unignored-dire | 
| 169a0 | 63 74 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 69 67 | ctories)))..(defun.projectile-ig | 
| 169c0 | 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 20 20 22 52 65 74 75 | nored-directories-rel.()..."Retu | 
| 169e0 | 72 6e 20 6c 69 73 74 20 6f 66 20 69 67 6e 6f 72    65 64 20 64 69 72 65 63 74 6f 72 69 65 73 2c 20 | rn.list.of.ignored.directories,. | 
| 16a00 | 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20    72 6f 6f 74 2e 22 0a 20 20 28 70 72 6f 6a 65 63 | relative.to.the.root."...(projec | 
| 16a20 | 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 70 72 6f 6a | tile-make-relative-to-root.(proj | 
| 16a40 | 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 29 0a 0a 28 | ectile-ignored-directories)))..( | 
| 16a60 | 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 66 69 6c 65 73 2d 72 | defun.projectile-ignored-files-r | 
| 16a80 | 65 6c 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 | el.()..."Return.list.of.ignored. | 
| 16aa0 | 66 69 6c 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 20 20 | files,.relative.to.the.root."... | 
| 16ac0 | 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 6f 6f | (projectile-make-relative-to-roo | 
| 16ae0 | 74 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 73 29 29 29 0a 0a | t.(projectile-ignored-files))).. | 
| 16b00 | 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 6f 72 65 | (defun.projectile-project-ignore | 
| 16b20 | 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 70 72 6f | d-files.()..."Return.list.of.pro | 
| 16b40 | 6a 65 63 74 20 69 67 6e 6f 72 65 64 20 66 69 6c    65 73 2e 0a 55 6e 69 67 6e 6f 72 65 64 20 66 69 | ject.ignored.files..Unignored.fi | 
| 16b60 | 6c 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 63 6c 2d 72 65 6d | les.are.not.included."...(cl-rem | 
| 16b80 | 6f 76 65 2d 69 66 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 | ove-if.'file-directory-p.(projec | 
| 16ba0 | 74 69 6c 65 2d 70 72 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 | tile-project-ignored)))..(defun. | 
| 16bc0 | 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 65 63 | projectile-project-ignored-direc | 
| 16be0 | 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 70 72 6f 6a | tories.()..."Return.list.of.proj | 
| 16c00 | 65 63 74 20 69 67 6e 6f 72 65 64 20 64 69 72 65    63 74 6f 72 69 65 73 2e 0a 55 6e 69 67 6e 6f 72 | ect.ignored.directories..Unignor | 
| 16c20 | 65 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 61    72 65 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 2e | ed.directories.are.not.included. | 
| 16c40 | 22 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69    66 2d 6e 6f 74 20 27 66 69 6c 65 2d 64 69 72 65 | "...(cl-remove-if-not.'file-dire | 
| 16c60 | 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 69 67 6e 6f | ctory-p.(projectile-project-igno | 
| 16c80 | 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 70 61 74 68 73 2d | red)))..(defun.projectile-paths- | 
| 16ca0 | 74 6f 2d 69 67 6e 6f 72 65 20 28 29 0a 20 20 22    52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 | to-ignore.()..."Return.a.list.of | 
| 16cc0 | 20 69 67 6e 6f 72 65 64 20 70 72 6f 6a 65 63 74    20 70 61 74 68 73 2e 22 0a 20 20 28 70 72 6f 6a | .ignored.project.paths."...(proj | 
| 16ce0 | 65 63 74 69 6c 65 2d 6e 6f 72 6d 61 6c 69 73 65    2d 70 61 74 68 73 20 28 6e 74 68 20 31 20 28 70 | ectile-normalise-paths.(nth.1.(p | 
| 16d00 | 72 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 | rojectile-parse-dirconfig-file)) | 
| 16d20 | 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 74 65 72 6e 73 2d 74 | ))..(defun.projectile-patterns-t | 
| 16d40 | 6f 2d 69 67 6e 6f 72 65 20 28 29 0a 20 20 22 52    65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 | o-ignore.()..."Return.a.list.of. | 
| 16d60 | 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 20 20 28 70 72 6f 6a | relative.file.patterns."...(proj | 
| 16d80 | 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 20 28 6e 74 68 20 31 | ectile-normalise-patterns.(nth.1 | 
| 16da0 | 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 66 69 67 2d 66 69 6c | .(projectile-parse-dirconfig-fil | 
| 16dc0 | 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 72 6f 6a 65 63 74 | e))))..(defun.projectile-project | 
| 16de0 | 2d 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 66 20 70 72 | -ignored.()..."Return.list.of.pr | 
| 16e00 | 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 69 65 73 2e | oject.ignored.files/directories. | 
| 16e20 | 0a 55 6e 69 67 6e 6f 72 65 64 20 66 69 6c 65 73    2f 64 69 72 65 63 74 6f 72 69 65 73 20 61 72 65 | .Unignored.files/directories.are | 
| 16e40 | 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 2e 22 0a    20 20 28 6c 65 74 20 28 28 70 61 74 68 73 20 28 | .not.included."...(let.((paths.( | 
| 16e60 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 74 68 73    2d 74 6f 2d 69 67 6e 6f 72 65 29 29 29 0a 20 20 | projectile-paths-to-ignore)))... | 
| 16e80 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 65 78    70 61 6e 64 2d 70 61 74 68 73 20 70 61 74 68 73 | ..(projectile-expand-paths.paths | 
| 16ea0 | 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 6e 6f 72 65 64 | )))..(defun.projectile-unignored | 
| 16ec0 | 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 75 6e 69 67 | -files.()..."Return.list.of.unig | 
| 16ee0 | 6e 6f 72 65 64 20 66 69 6c 65 73 2e 22 0a 20 20    28 6d 61 70 63 61 72 0a 20 20 20 23 27 70 72 6f | nored.files."...(mapcar....#'pro | 
| 16f00 | 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72    6f 6f 74 0a 20 20 20 28 61 70 70 65 6e 64 0a 20 | jectile-expand-root....(append.. | 
| 16f20 | 20 20 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 6e 6f 72 65 64 | ...projectile-globally-unignored | 
| 16f40 | 2d 66 69 6c 65 73 0a 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 75 | -files.....(projectile-project-u | 
| 16f60 | 6e 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | nignored-files))))..(defun.proje | 
| 16f80 | 63 74 69 6c 65 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 0a 20 | ctile-unignored-directories.().. | 
| 16fa0 | 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 63 | ."Return.list.of.unignored.direc | 
| 16fc0 | 74 6f 72 69 65 73 2e 22 0a 20 20 28 6d 61 70 63    61 72 0a 20 20 20 23 27 66 69 6c 65 2d 6e 61 6d | tories."...(mapcar....#'file-nam | 
| 16fe0 | 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 0a 20    20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 23 27 | e-as-directory....(mapcar.....#' | 
| 17000 | 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 20 20 28 61 70 70 65 | projectile-expand-root.....(appe | 
| 17020 | 6e 64 0a 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 75 6e 69 67 | nd......projectile-globally-unig | 
| 17040 | 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65    73 0a 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | nored-directories......(projecti | 
| 17060 | 6c 65 2d 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 | le-project-unignored-directories | 
| 17080 | 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 75 6e 69 67 6e 6f 72 | )))))..(defun.projectile-unignor | 
| 170a0 | 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73 2d 72    65 6c 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 | ed-directories-rel.()..."Return. | 
| 170c0 | 6c 69 73 74 20 6f 66 20 75 6e 69 67 6e 6f 72 65    64 20 64 69 72 65 63 74 6f 72 69 65 73 2c 20 72 | list.of.unignored.directories,.r | 
| 170e0 | 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 72    6f 6f 74 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 | elative.to.the.root."...(project | 
| 17100 | 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 70 72 6f 6a 65 | ile-make-relative-to-root.(proje | 
| 17120 | 63 74 69 6c 65 2d 75 6e 69 67 6e 6f 72 65 64 2d    64 69 72 65 63 74 6f 72 69 65 73 29 29 29 0a 0a | ctile-unignored-directories))).. | 
| 17140 | 28 64 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 66 69 6c 65 | (defun.projectile-unignored-file | 
| 17160 | 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 66 20 75 6e 69 67 6e | s-rel.()..."Return.list.of.unign | 
| 17180 | 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 20 72 6f 6f 74 | ored.files,.relative.to.the.root | 
| 171a0 | 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 69 76 65 2d 74 | ."...(projectile-make-relative-t | 
| 171c0 | 6f 2d 72 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 66 69 6c | o-root.(projectile-unignored-fil | 
| 171e0 | 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 65 63 74 | es)))..(defun.projectile-project | 
| 17200 | 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 | 
| 17220 | 73 74 20 6f 66 20 70 72 6f 6a 65 63 74 20 75 6e    69 67 6e 6f 72 65 64 20 66 69 6c 65 73 2e 22 0a | st.of.project.unignored.files.". | 
| 17240 | 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 2d | ..(cl-remove-if.'file-directory- | 
| 17260 | 70 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 29 | p.(projectile-project-unignored) | 
| 17280 | 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 75 6e | ))..(defun.projectile-project-un | 
| 172a0 | 69 67 6e 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 | ignored-directories.()..."Return | 
| 172c0 | 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 64 20 64 69 72 65 63 | .list.of.project.unignored.direc | 
| 172e0 | 74 6f 72 69 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 27 66 69 | tories."...(cl-remove-if-not.'fi | 
| 17300 | 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 6f 6a 65 | le-directory-p.(projectile-proje | 
| 17320 | 63 74 2d 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 | ct-unignored)))..(defun.projecti | 
| 17340 | 6c 65 2d 70 61 74 68 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 | le-paths-to-ensure.()..."Return. | 
| 17360 | 61 20 6c 69 73 74 20 6f 66 20 75 6e 69 67 6e 6f    72 65 64 20 70 72 6f 6a 65 63 74 20 70 61 74 68 | a.list.of.unignored.project.path | 
| 17380 | 73 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 | s."...(projectile-normalise-path | 
| 173a0 | 73 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 | s.(nth.2.(projectile-parse-dirco | 
| 173c0 | 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 6c 65 | nfig-file))))..(defun.projectile | 
| 173e0 | 2d 66 69 6c 65 73 2d 74 6f 2d 65 6e 73 75 72 65    20 28 29 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c | -files-to-ensure.()...(projectil | 
| 17400 | 65 2d 66 6c 61 74 74 65 6e 20 28 6d 61 70 63 61    72 20 28 6c 61 6d 62 64 61 20 28 70 61 74 29 20 | e-flatten.(mapcar.(lambda.(pat). | 
| 17420 | 28 66 69 6c 65 2d 65 78 70 61 6e 64 2d 77 69 6c    64 63 61 72 64 73 20 70 61 74 20 74 29 29 0a 20 | (file-expand-wildcards.pat.t)).. | 
| 17440 | 20 20 20 20 20 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 | .............................(pr | 
| 17460 | 6f 6a 65 63 74 69 6c 65 2d 70 61 74 74 65 72 6e    73 2d 74 6f 2d 65 6e 73 75 72 65 29 29 29 29 0a | ojectile-patterns-to-ensure)))). | 
| 17480 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 70 61 74 74 65 72 6e 73 2d 74 6f 2d 65 | .(defun.projectile-patterns-to-e | 
| 174a0 | 6e 73 75 72 65 20 28 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 | nsure.()..."Return.a.list.of.rel | 
| 174c0 | 61 74 69 76 65 20 66 69 6c 65 20 70 61 74 74 65    72 6e 73 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 | ative.file.patterns."...(project | 
| 174e0 | 69 6c 65 2d 6e 6f 72 6d 61 6c 69 73 65 2d 70 61    74 74 65 72 6e 73 20 28 6e 74 68 20 32 20 28 70 | ile-normalise-patterns.(nth.2.(p | 
| 17500 | 72 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 | rojectile-parse-dirconfig-file)) | 
| 17520 | 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 74 65 72 69 6e 67 2d | ))..(defun.projectile-filtering- | 
| 17540 | 70 61 74 74 65 72 6e 73 20 28 29 0a 20 20 28 63    6f 6e 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | patterns.()...(cons.(projectile- | 
| 17560 | 70 61 74 74 65 72 6e 73 2d 74 6f 2d 69 67 6e 6f    72 65 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f | patterns-to-ignore).........(pro | 
| 17580 | 6a 65 63 74 69 6c 65 2d 70 61 74 74 65 72 6e 73    2d 74 6f 2d 65 6e 73 75 72 65 29 29 29 0a 0a 28 | jectile-patterns-to-ensure)))..( | 
| 175a0 | 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 75 6e 69 67 6e 6f 72 | defun.projectile-project-unignor | 
| 175c0 | 65 64 20 28 29 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 | ed.()..."Return.list.of.project. | 
| 175e0 | 69 67 6e 6f 72 65 64 20 66 69 6c 65 73 2f 64 69    72 65 63 74 6f 72 69 65 73 2e 22 0a 20 20 28 64 | ignored.files/directories."...(d | 
| 17600 | 65 6c 65 74 65 2d 64 75 70 73 20 28 61 70 70 65    6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 65 | elete-dups.(append.(projectile-e | 
| 17620 | 78 70 61 6e 64 2d 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 | xpand-paths.(projectile-paths-to | 
| 17640 | 2d 65 6e 73 75 72 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 | -ensure))....................... | 
| 17660 | 20 28 70 72 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 | .(projectile-expand-paths.(proje | 
| 17680 | 63 74 69 6c 65 2d 66 69 6c 65 73 2d 74 6f 2d 65    6e 73 75 72 65 29 29 29 29 29 0a 0a 0a 28 64 65 | ctile-files-to-ensure)))))...(de | 
| 176a0 | 66 75 6e 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 20 28 29 | fun.projectile-dirconfig-file.() | 
| 176c0 | 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 61    62 73 6f 6c 75 74 65 20 70 61 74 68 20 74 6f 20 | ..."Return.the.absolute.path.to. | 
| 176e0 | 74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 64 69    72 63 6f 6e 66 69 67 20 66 69 6c 65 2e 22 0a 20 | the.project's.dirconfig.file.".. | 
| 17700 | 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 2d 64 69 | .(expand-file-name.projectile-di | 
| 17720 | 72 63 6f 6e 66 69 67 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 | rconfig-file.(projectile-project | 
| 17740 | 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 2d 70 61 72 73 | -root)))..(defun.projectile-pars | 
| 17760 | 65 2d 64 69 72 63 6f 6e 66 69 67 2d 66 69 6c 65    20 28 29 0a 20 20 22 50 61 72 73 65 20 70 72 6f | e-dirconfig-file.()..."Parse.pro | 
| 17780 | 6a 65 63 74 20 69 67 6e 6f 72 65 20 66 69 6c 65    20 61 6e 64 20 72 65 74 75 72 6e 20 64 69 72 65 | ject.ignore.file.and.return.dire | 
| 177a0 | 63 74 6f 72 69 65 73 20 74 6f 20 69 67 6e 6f 72    65 20 61 6e 64 20 6b 65 65 70 2e 0a 0a 54 68 65 | ctories.to.ignore.and.keep...The | 
| 177c0 | 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 69    6c 6c 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 | .return.value.will.be.a.list.of. | 
| 177e0 | 74 68 72 65 65 20 65 6c 65 6d 65 6e 74 73 2c 20    74 68 65 20 63 61 72 20 62 65 69 6e 67 0a 74 68 | three.elements,.the.car.being.th | 
| 17800 | 65 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74    6f 72 69 65 73 20 74 6f 20 6b 65 65 70 2c 20 74 | e.list.of.directories.to.keep,.t | 
| 17820 | 68 65 20 63 61 64 72 20 62 65 69 6e 67 20 74 68    65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 0a | he.cadr.being.the.list.of.files. | 
| 17840 | 6f 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 74    6f 20 69 67 6e 6f 72 65 2c 20 61 6e 64 20 74 68 | or.directories.to.ignore,.and.th | 
| 17860 | 65 20 63 61 64 64 72 20 62 65 69 6e 67 20 74 68    65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 0a | e.caddr.being.the.list.of.files. | 
| 17880 | 6f 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 74    6f 20 65 6e 73 75 72 65 2e 0a 0a 53 74 72 69 6e | or.directories.to.ensure...Strin | 
| 178a0 | 67 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68    20 2b 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 | gs.starting.with.+.will.be.added | 
| 178c0 | 20 74 6f 20 74 68 65 20 6c 69 73 74 20 6f 66 20    64 69 72 65 63 74 6f 72 69 65 73 0a 74 6f 20 6b | .to.the.list.of.directories.to.k | 
| 178e0 | 65 65 70 2c 20 61 6e 64 20 73 74 72 69 6e 67 73    20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 2d | eep,.and.strings.starting.with.- | 
| 17900 | 20 77 69 6c 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 0a 64 69 | .will.be.added.to.the.list.of.di | 
| 17920 | 72 65 63 74 6f 72 69 65 73 20 74 6f 20 69 67 6e    6f 72 65 2e 20 20 46 6f 72 20 62 61 63 6b 77 61 | rectories.to.ignore...For.backwa | 
| 17940 | 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79    2c 20 77 69 74 68 6f 75 74 20 61 0a 70 72 65 66 | rd.compatibility,.without.a.pref | 
| 17960 | 69 78 20 74 68 65 20 73 74 72 69 6e 67 20 77 69    6c 6c 20 62 65 20 61 73 73 75 6d 65 64 20 74 6f | ix.the.string.will.be.assumed.to | 
| 17980 | 20 62 65 20 61 6e 20 69 67 6e 6f 72 65 20 73 74    72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 6b | .be.an.ignore.string."...(let.(k | 
| 179a0 | 65 65 70 20 69 67 6e 6f 72 65 20 65 6e 73 75 72    65 20 28 64 69 72 63 6f 6e 66 69 67 20 28 70 72 | eep.ignore.ensure.(dirconfig.(pr | 
| 179c0 | 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 29 0a 20 20 20 20 28 | ojectile-dirconfig-file))).....( | 
| 179e0 | 77 68 65 6e 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 64 | when.(projectile-file-exists-p.d | 
| 17a00 | 69 72 63 6f 6e 66 69 67 29 0a 20 20 20 20 20 20    28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 | irconfig).......(with-temp-buffe | 
| 17a20 | 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. | 
| 17a40 | 64 69 72 63 6f 6e 66 69 67 29 0a 20 20 20 20 20    20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 | dirconfig).........(while.(not.( | 
| 17a60 | 65 6f 62 70 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 70 63 61 73 65 20 28 63 68 61 72 2d 61 66 | eobp))...........(pcase.(char-af | 
| 17a80 | 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 69 67 6e 6f 72 65 20 63 6f 6d 6d 65 | ter).............;;.ignore.comme | 
| 17aa0 | 6e 74 20 6c 69 6e 65 73 20 69 66 20 70 72 65 66    69 78 20 63 68 61 72 20 68 61 73 20 62 65 65 6e | nt.lines.if.prefix.char.has.been | 
| 17ac0 | 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 28 70 72 65 64 20 28 6c 61 6d 62 64 61 20 | .set.............((pred.(lambda. | 
| 17ae0 | 28 6c 65 61 64 69 6e 67 2d 63 68 61 72 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (leading-char).................. | 
| 17b00 | 20 20 20 20 28 61 6e 64 20 70 72 6f 6a 65 63 74    69 6c 65 2d 64 69 72 63 6f 6e 66 69 67 2d 63 6f | ....(and.projectile-dirconfig-co | 
| 17b20 | 6d 6d 65 6e 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 | mment-prefix.................... | 
| 17b40 | 20 20 20 20 20 20 20 28 65 71 6c 20 6c 65 61 64    69 6e 67 2d 63 68 61 72 0a 20 20 20 20 20 20 20 | .......(eql.leading-char........ | 
| 17b60 | 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 | 
| 17b80 | 6c 65 2d 64 69 72 63 6f 6e 66 69 67 2d 63 6f 6d    6d 65 6e 74 2d 70 72 65 66 69 78 29 29 29 29 0a | le-dirconfig-comment-prefix)))). | 
| 17ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3f | .............nil).............(? | 
| 17bc0 | 2b 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 31 2b 20 28 70 | +.(push.(buffer-substring.(1+.(p | 
| 17be0 | 6f 69 6e 74 29 29 20 28 6c 69 6e 65 2d 65 6e 64    2d 70 6f 73 69 74 69 6f 6e 29 29 20 6b 65 65 70 | oint)).(line-end-position)).keep | 
| 17c00 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    3f 2d 20 28 70 75 73 68 20 28 62 75 66 66 65 72 | )).............(?-.(push.(buffer | 
| 17c20 | 2d 73 75 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 | -substring.(1+.(point)).(line-en | 
| 17c40 | 64 2d 70 6f 73 69 74 69 6f 6e 29 29 20 69 67 6e    6f 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 | d-position)).ignore))........... | 
| 17c60 | 20 20 28 3f 21 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 31 | ..(?!.(push.(buffer-substring.(1 | 
| 17c80 | 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 69 6f 6e 29 29 20 | +.(point)).(line-end-position)). | 
| 17ca0 | 65 6e 73 75 72 65 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 5f 20 28 70 75 73 68 20 28 62 | ensure)).............(_.(push.(b | 
| 17cc0 | 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20    28 70 6f 69 6e 74 29 20 28 6c 69 6e 65 2d 65 6e | uffer-substring.(point).(line-en | 
| 17ce0 | 64 2d 70 6f 73 69 74 69 6f 6e 29 29 20 69 67 6e    6f 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 | d-position)).ignore))).......... | 
| 17d00 | 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29    29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 28 6d | .(forward-line))).......(list.(m | 
| 17d20 | 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66    29 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d | apcar.(lambda.(f).(file-name-as- | 
| 17d40 | 64 69 72 65 63 74 6f 72 79 20 28 73 74 72 69 6e    67 2d 74 72 69 6d 20 66 29 29 29 0a 20 20 20 20 | directory.(string-trim.f)))..... | 
| 17d60 | 20 20 20 20 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 | ................(delete."".(reve | 
| 17d80 | 72 73 65 20 6b 65 65 70 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 | rse.keep))).............(mapcar. | 
| 17da0 | 23 27 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 | #'string-trim................... | 
| 17dc0 | 20 20 28 64 65 6c 65 74 65 20 22 22 20 28 72 65    76 65 72 73 65 20 69 67 6e 6f 72 65 29 29 29 0a | ..(delete."".(reverse.ignore))). | 
| 17de0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70    63 61 72 20 23 27 73 74 72 69 6e 67 2d 74 72 69 | ............(mapcar.#'string-tri | 
| 17e00 | 6d 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 65 20 22 22 | m.....................(delete."" | 
| 17e20 | 20 28 72 65 76 65 72 73 65 20 65 6e 73 75 72 65    29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | .(reverse.ensure)))))))..(defun. | 
| 17e40 | 70 72 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e    64 2d 72 6f 6f 74 20 28 6e 61 6d 65 20 26 6f 70 | projectile-expand-root.(name.&op | 
| 17e60 | 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 45    78 70 61 6e 64 20 4e 41 4d 45 20 74 6f 20 70 72 | tional.dir)..."Expand.NAME.to.pr | 
| 17e80 | 6f 6a 65 63 74 20 72 6f 6f 74 2e 0a 57 68 65 6e    20 44 49 52 20 69 73 20 73 70 65 63 69 66 69 65 | oject.root..When.DIR.is.specifie | 
| 17ea0 | 64 20 69 74 20 75 73 65 73 20 44 49 52 27 73 20    70 72 6f 6a 65 63 74 2c 20 6f 74 68 65 72 77 69 | d.it.uses.DIR's.project,.otherwi | 
| 17ec0 | 73 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 | se.it.acts.on.the.current.projec | 
| 17ee0 | 74 2e 0a 0a 4e 65 76 65 72 20 75 73 65 20 6f 6e    20 6d 61 6e 79 20 66 69 6c 65 73 20 73 69 6e 63 | t...Never.use.on.many.files.sinc | 
| 17f00 | 65 20 69 74 27 73 20 67 6f 69 6e 67 20 74 6f 20    72 65 63 61 6c 63 75 6c 61 74 65 20 74 68 65 0a | e.it's.going.to.recalculate.the. | 
| 17f20 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 66 6f 72    20 65 76 65 72 79 20 66 69 6c 65 2e 22 0a 20 20 | project-root.for.every.file."... | 
| 17f40 | 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d    65 20 6e 61 6d 65 20 28 70 72 6f 6a 65 63 74 69 | (expand-file-name.name.(projecti | 
| 17f60 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20    64 69 72 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 | le-project-root.dir)))..(cl-defu | 
| 17f80 | 6e 20 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 28 70 72 | n.projectile-completing-read.(pr | 
| 17fa0 | 6f 6d 70 74 20 63 68 6f 69 63 65 73 20 26 6b 65    79 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 | ompt.choices.&key.initial-input. | 
| 17fc0 | 61 63 74 69 6f 6e 29 0a 20 20 22 50 72 65 73 65    6e 74 20 61 20 70 72 6f 6a 65 63 74 20 74 61 69 | action)..."Present.a.project.tai | 
| 17fe0 | 6c 6f 72 65 64 20 50 52 4f 4d 50 54 20 77 69 74    68 20 43 48 4f 49 43 45 53 2e 22 0a 20 20 28 6c | lored.PROMPT.with.CHOICES."...(l | 
| 18000 | 65 74 20 28 28 70 72 6f 6d 70 74 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 65 70 65 6e 64 2d | et.((prompt.(projectile-prepend- | 
| 18020 | 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 70 72 6f    6d 70 74 29 29 0a 20 20 20 20 20 20 20 20 72 65 | project-name.prompt)).........re | 
| 18040 | 73 29 0a 20 20 20 20 28 73 65 74 71 20 72 65 73    0a 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 | s).....(setq.res...........(pcas | 
| 18060 | 65 20 28 69 66 20 28 65 71 20 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d | e.(if.(eq.projectile-completion- | 
| 18080 | 73 79 73 74 65 6d 20 27 61 75 74 6f 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | system.'auto)................... | 
| 180a0 | 20 20 20 28 63 6f 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 28 | ...(cond.......................( | 
| 180c0 | 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d    70 20 69 64 6f 2d 6d 6f 64 65 29 20 20 27 69 64 | (bound-and-true-p.ido-mode)..'id | 
| 180e0 | 6f 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 62 6f 75 6e 64 | o).......................((bound | 
| 18100 | 2d 61 6e 64 2d 74 72 75 65 2d 70 20 68 65 6c 6d    2d 6d 6f 64 65 29 20 27 68 65 6c 6d 29 0a 20 20 | -and-true-p.helm-mode).'helm)... | 
| 18120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 28 62 6f 75 6e 64 2d 61 6e 64 2d | ....................((bound-and- | 
| 18140 | 74 72 75 65 2d 70 20 69 76 79 2d 6d 6f 64 65 29    20 20 27 69 76 79 29 0a 20 20 20 20 20 20 20 20 | true-p.ivy-mode)..'ivy)......... | 
| 18160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74    20 27 64 65 66 61 75 6c 74 29 29 0a 20 20 20 20 | ..............(t.'default))..... | 
| 18180 | 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 63 6f 6d 70 6c 65 | ...............projectile-comple | 
| 181a0 | 74 69 6f 6e 2d 73 79 73 74 65 6d 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 27 64 65 66 61 75 | tion-system).............('defau | 
| 181c0 | 6c 74 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72    65 61 64 20 70 72 6f 6d 70 74 20 28 6c 61 6d 62 | lt.(completing-read.prompt.(lamb | 
| 181e0 | 64 61 20 28 73 74 72 69 6e 67 20 70 72 65 64 20    61 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 | da.(string.pred.action)......... | 
| 18200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 18220 | 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 20 20 20 20 20 | ........(cond................... | 
| 18240 | 20 20 20 20 20 20 20 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 | ...............................; | 
| 18260 | 3b 20 74 68 69 73 20 6d 65 74 61 64 61 74 61 20    69 73 20 75 73 65 64 20 62 79 0a 20 20 20 20 20 | ;.this.metadata.is.used.by...... | 
| 18280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 182a0 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70    61 63 6b 61 67 65 73 20 6c 69 6b 65 20 6d 61 72 | ............;;.packages.like.mar | 
| 182c0 | 67 69 6e 61 6c 69 61 20 61 6e 64 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ginalia.and..................... | 
| 182e0 | 20 20 20 20 20 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 | .............................;;. | 
| 18300 | 65 6d 62 61 72 6b 20 74 6f 20 65 6e 68 61 6e 63    65 20 68 6f 77 20 74 68 65 79 0a 20 20 20 20 20 | embark.to.enhance.how.they...... | 
| 18320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 18340 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70    72 65 73 65 6e 74 20 63 61 6e 64 69 64 61 74 65 | ............;;.present.candidate | 
| 18360 | 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 20 | s............................... | 
| 18380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 28 65 71 20 61 63 74 69 6f 6e 20 27 | ...................((eq.action.' | 
| 183a0 | 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | metadata)....................... | 
| 183c0 | 20 20 20 20 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 28 6d 65 | ............................'(me | 
| 183e0 | 74 61 64 61 74 61 20 2e 20 28 28 63 61 74 65 67    6f 72 79 20 2e 20 70 72 6f 6a 65 63 74 2d 66 69 | tadata...((category...project-fi | 
| 18400 | 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 20 20 20 20 20 | le)))).......................... | 
| 18420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 | ........................(t...... | 
| 18440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 18460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6d 70 6c 65 74 65 2d 77 69 74 68 2d 61 63 74 69 | .............(complete-with-acti | 
| 18480 | 6f 6e 20 61 63 74 69 6f 6e 20 63 68 6f 69 63 65    73 20 73 74 72 69 6e 67 20 70 72 65 64 29 29 29 | on.action.choices.string.pred))) | 
| 184a0 | 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 | )............................... | 
| 184c0 | 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c    20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 29 29 | .........nil.nil.initial-input)) | 
| 184e0 | 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 6c 65 74 69 | .............('ido.(ido-completi | 
| 18500 | 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 69 6c 20 69 | ng-read.prompt.choices.nil.nil.i | 
| 18520 | 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 27 68 65 6c | nitial-input)).............('hel | 
| 18540 | 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 75 6e 64 70 | m..............(if.(and.(fboundp | 
| 18560 | 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 66 | .'helm).......................(f | 
| 18580 | 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 20 20 20 20 | boundp.'helm-make-source))...... | 
| 185a0 | 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 20 20 20 20 | ............(helm.:sources...... | 
| 185c0 | 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 2d 73 6f 75 | ..................(helm-make-sou | 
| 185e0 | 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 65 2d 73 79 | rce."Projectile".'helm-source-sy | 
| 18600 | 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 20 20 20 20 | nc.............................. | 
| 18620 | 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 63 65 73 0a | ............:candidates.choices. | 
| 18640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 18660 | 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 20 20 20 20 | .........:action.(if.action..... | 
| 18680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 186a0 | 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 6f 6e 0a 20 | .................(prog1.action.. | 
| 186c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 186e0 | 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 | 
| 18700 | 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))........................ | 
| 18720 | 20 20 20 20 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 69 64 | ............................#'id | 
| 18740 | 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 20 20 20 20 | entity))........................ | 
| 18760 | 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 20 20 20 20 | :prompt.prompt.................. | 
| 18780 | 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 20 20 20 20 | ......:input.initial-input...... | 
| 187a0 | 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 68 65 6c 6d | ..................:buffer."*helm | 
| 187c0 | 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 20 20 28 75 | -projectile*")................(u | 
| 187e0 | 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 6c 6d 22 29 | ser-error."Please.install.helm") | 
| 18800 | 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 20 20 20 20 | )).............('ivy............ | 
| 18820 | 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 20 20 20 20 | ..(if.(fboundp.'ivy-read)....... | 
| 18840 | 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 63 68 6f 69 | ...........(ivy-read.prompt.choi | 
| 18860 | 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 3a | ces............................: | 
| 18880 | 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 20 20 20 20 | initial-input.initial-input..... | 
| 188a0 | 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 6e 20 28 | .......................:action.( | 
| 188c0 | 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 20 20 20 20 | prog1.action.................... | 
| 188e0 | 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 6f 6e 20 6e | ..................(setq.action.n | 
| 18900 | 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 20 20 20 20 | il))............................ | 
| 18920 | 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 6e 67 2d 72 | :caller.'projectile-completing-r | 
| 18940 | 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 72 6f 72 20 | ead)................(user-error. | 
| 18960 | 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 20 20 20 20 | "Please.install.ivy")))......... | 
| 18980 | 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 6f 6d 70 6c | ....(_.(funcall.projectile-compl | 
| 189a0 | 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 29 29 29 0a | etion-system.prompt.choices)))). | 
| 189c0 | 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 61 6c 6c 20 | ....(if.action.........(funcall. | 
| 189e0 | 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 65 66 75 6e | action.res).......res)))..(defun | 
| 18a00 | 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 72 6f 6a 65 | .projectile-project-files.(proje | 
| 18a20 | 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 20 66 69 6c | ct-root)..."Return.a.list.of.fil | 
| 18a40 | 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 28 6c 65 74 | es.for.the.PROJECT-ROOT."...(let | 
| 18a60 | 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 20 69 73 20 | .(files).....;;.If.the.cache.is. | 
| 18a80 | 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 20 28 77 68 | too.stale,.don't.use.it......(wh | 
| 18aa0 | 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 70 69 72 65 | en.projectile-files-cache-expire | 
| 18ac0 | 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 20 20 20 20 | .......(let.((cache-time........ | 
| 18ae0 | 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 70 72 6f 6a | ......(gethash.project-root.proj | 
| 18b00 | 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 29 0a 20 20 | ectile-projects-cache-time)))... | 
| 18b20 | 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 74 69 6d 65 | ......(when.(or.(null.cache-time | 
| 18b40 | 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 63 68 65 2d | )...................(<.(+.cache- | 
| 18b60 | 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 65 78 70 69 | time.projectile-files-cache-expi | 
| 18b80 | 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 6f 6a 65 63 | re)......................(projec | 
| 18ba0 | 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 20 20 20 28 | tile-time-seconds)))...........( | 
| 18bc0 | 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 6c 65 2d | remhash.project-root.projectile- | 
| 18be0 | 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 65 6d 68 61 | projects-cache)...........(remha | 
| 18c00 | 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 6f 6a 65 | sh.project-root.projectile-proje | 
| 18c20 | 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 73 65 20 74 | cts-cache-time))))......;;.Use.t | 
| 18c40 | 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 76 61 69 6c | he.cache,.if.requested.and.avail | 
| 18c60 | 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 6e 61 62 6c | able......(when.projectile-enabl | 
| 18c80 | 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 28 6f 72 20 | e-caching.......(setq.files.(or. | 
| 18ca0 | 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 | 
| 18cc0 | 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 20 20 20 20 20 | -projects-cache)................ | 
| 18ce0 | 20 20 20 20 20 20 20 3b 3b 20 6c 6f 61 64 20 74    68 65 20 63 61 63 68 65 20 66 72 6f 6d 20 64 69 | .......;;.load.the.cache.from.di | 
| 18d00 | 73 6b 20 6f 6e 6c 79 20 69 66 20 70 65 72 73 69    73 74 65 6e 74 20 63 61 63 68 65 20 69 73 0a 20 | sk.only.if.persistent.cache.is.. | 
| 18d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 65 6e 61 62 6c 65 64 0a | .....................;;.enabled. | 
| 18d40 | 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 65 71 20 70 | ......................(and.(eq.p | 
| 18d60 | 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 27 70 65 72 73 69 73 | rojectile-enable-caching.'persis | 
| 18d80 | 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tent)........................... | 
| 18da0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6c 6f 61    64 2d 70 72 6f 6a 65 63 74 2d 63 61 63 68 65 20 | .(projectile-load-project-cache. | 
| 18dc0 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 29    29 0a 0a 20 20 20 20 3b 3b 20 43 61 6c 63 75 6c | project-root)))))......;;.Calcul | 
| 18de0 | 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 6e | ate.the.list.of.files......(when | 
| 18e00 | 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 63 | .(null.files).......(when.projec | 
| 18e20 | 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 73 | tile-enable-caching.........(mes | 
| 18e40 | 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 67 | sage."Projectile.is.initializing | 
| 18e60 | 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 29 | .cache.for.%s....".project-root) | 
| 18e80 | 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 20 | ).......(setq.files............. | 
| 18ea0 | 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 68 | (if.(eq.projectile-indexing-meth | 
| 18ec0 | 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 6e | od.'alien).................;;.In | 
| 18ee0 | 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 61 | .alien.mode.we.can.just.skip.rea | 
| 18f00 | 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 74 | ding.................;;..project | 
| 18f20 | 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 6f | ile.and.find.all.files.in.the.ro | 
| 18f40 | 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 74 | ot.dir..................(project | 
| 18f60 | 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 74 | ile-dir-files-alien.project-root | 
| 18f80 | 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 20 | )...............;;.If.a.project. | 
| 18fa0 | 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 65 | is.defined.as.a.list.of.subfolde | 
| 18fc0 | 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 68 | rs...............;;.then.we'll.h | 
| 18fe0 | 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 20 | ave.the.files.returned.for.each. | 
| 19000 | 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 74 | subfolder,...............;;.so.t | 
| 19020 | 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 20 | hey.are.relative.to.the.project. | 
| 19040 | 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 20 | root................;;.......... | 
| 19060 | 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 77 | .....;;.TODO:.That's.pretty.slow | 
| 19080 | 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 20 | .and.we.need.to.improve.it...... | 
| 190a0 | 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 62 | ..........;;.One.options.would.b | 
| 190c0 | 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 73 | e.to.pass.explicitly.the.subdirs | 
| 190e0 | 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 69 | ...............;;.to.commands.li | 
| 19100 | 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 65 | ke.`git.ls-files`.which.would.re | 
| 19120 | 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 68 | turn...............;;.files.path | 
| 19140 | 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 0a | s.relative.to.the.project.root.. | 
| 19160 | 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 20 | ..............(cl-mapcan........ | 
| 19180 | 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 20 | ........(lambda.(dir)........... | 
| 191a0 | 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 20 | .......(mapcar.(lambda.(f)...... | 
| 191c0 | 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 61 | ......................(file-rela | 
| 191e0 | 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 20 | tive-name.(concat.dir.f)........ | 
| 19200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 19220 | 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 20 | ........project-root)).......... | 
| 19240 | 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 2d | ................(projectile-dir- | 
| 19260 | 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 6f | files.dir)))................(pro | 
| 19280 | 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 20 | jectile-get-project-directories. | 
| 192a0 | 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 20 | project-root))))........;;.Save. | 
| 192c0 | 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 6f | the.cached.list........(when.pro | 
| 192e0 | 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 28 | jectile-enable-caching.........( | 
| 19300 | 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 74 | projectile-cache-project.project | 
| 19320 | 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 0a | -root.files)))......;;;.Sorting. | 
| 19340 | 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 63 | ....;;.....;;.Files.can't.be.cac | 
| 19360 | 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 74 | hed.in.sorted.order.as.some.sort | 
| 19380 | 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 6d | ing.schemes.....;;.require.dynam | 
| 193a0 | 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 6d | ic.data...Sorting.is.ignored.com | 
| 193c0 | 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 64 | pletely.when.in.....;;.alien.mod | 
| 193e0 | 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 69 | e......(if.(eq.projectile-indexi | 
| 19400 | 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 0a | ng-method.'alien).........files. | 
| 19420 | 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 6c | ......(projectile-sort-files.fil | 
| 19440 | 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 6e | es))))..(defun.projectile-curren | 
| 19460 | 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 6c | t-project-files.()..."Return.a.l | 
| 19480 | 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 20 | ist.of.the.files.in.the.current. | 
| 194a0 | 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 2d | project."...(projectile-project- | 
| 194c0 | 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 29 | files.(projectile-acquire-root)) | 
| 194e0 | 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 | 
| 19500 | 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 50 | rent-project-files.(action)..."P | 
| 19520 | 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 6c | rocess.the.current.project's.fil | 
| 19540 | 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 65 | es.using.ACTION."...(let.((proje | 
| 19560 | 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 6f | ct-files.(projectile-current-pro | 
| 19580 | 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 69 | ject-files)).........(default-di | 
| 195a0 | 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 74 | rectory.(projectile-project-root | 
| 195c0 | 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 63 | ))).....(dolist.(filename.projec | 
| 195e0 | 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 66 | t-files).......(funcall.action.f | 
| 19600 | 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 70 | ilename))))..(defun.projectile-p | 
| 19620 | 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 20 | roject-dirs.(project)..."Return. | 
| 19640 | 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 28 | a.list.of.dirs.for.PROJECT."...( | 
| 19660 | 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 20 | delete-dups....(delq.nil........ | 
| 19680 | 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 0a | ..(mapcar.#'file-name-directory. | 
| 196a0 | 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 6f | .................(projectile-pro | 
| 196c0 | 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 20 | ject-files.project)))))..(defun. | 
| 196e0 | 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 20 | projectile-current-project-dirs. | 
| 19700 | 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 20 | ()..."Return.a.list.of.dirs.for. | 
| 19720 | 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 74 | the.current.project."...(project | 
| 19740 | 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 71 | ile-project-dirs.(projectile-acq | 
| 19760 | 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 2d | uire-root)))..(defun.projectile- | 
| 19780 | 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 69 | get-other-files.(file-name.&opti | 
| 197a0 | 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 20 | onal.flex-matching)..."Return.a. | 
| 197c0 | 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 4d | list.of.other.files.for.FILE-NAM | 
| 197e0 | 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 64 | E..The.list.depends.on.`:related | 
| 19800 | 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 70 | -files-fn'.project.option.and.`p | 
| 19820 | 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 6f | rojectile-other-file-alist'...Fo | 
| 19840 | 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 20 | r.the.latter,.FLEX-MATCHING.can. | 
| 19860 | 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 0a | be.used.to.match.any.basename.". | 
| 19880 | 20 20 28 69 66 2d 6c 65 74 2a 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-- | 
| 198a0 | 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 | 
| 198c0 | 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 | 
| 198e0 | 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 | 
| 19900 | 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 | 
| 19920 | 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............ | 
| 19940 | 20 20 20 20 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 | 
| 19960 | 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).. | 
| 19980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 199a0 | 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 | 
| 199c0 | 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 | 
| 199e0 | 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). | 
| 19a00 | 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 | 
| 19a20 | 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 | 
| 19a40 | 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 | 
| 19a60 | 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 | 
| 19a80 | 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. | 
| 19aa0 | 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 | 
| 19ac0 | 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 | 
| 19ae0 | 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 | 
| 19b00 | 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. | 
| 19b20 | 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 | 
| 19b40 | 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 | 
| 19b60 | 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 | 
| 19b80 | 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 | 
| 19ba0 | 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))...... | 
| 19bc0 | 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- | 
| 19be0 | 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 | 
| 19c00 | 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 | 
| 19c20 | 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 | 
| 19c40 | 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 | 
| 19c60 | 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 | 
| 19c80 | 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 | 
| 19ca0 | 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............................... | 
| 19cc0 | 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 | 
| 19ce0 | 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 | 
| 19d00 | 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. | 
| 19d20 | 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 | 
| 19d40 | 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 | 
| 19d60 | 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 | 
| 19d80 | 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 | 
| 19da0 | 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 | 
| 19dc0 | 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 | 
| 19de0 | 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 | 
| 19e00 | 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 | 
| 19e20 | 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 | 
| 19e40 | 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' | 
| 19e60 | 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 | 
| 19e80 | 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 | 
| 19ea0 | 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 | 
| 19ec0 | 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 | 
| 19ee0 | 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).. | 
| 19f00 | 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 | 
| 19f20 | 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 | 
| 19f40 | 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. | 
| 19f60 | 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 | 
| 19f80 | 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 | 
| 19fa0 | 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 | 
| 19fc0 | 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 | 
| 19fe0 | 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. | 
| 1a000 | 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. | 
| 1a020 | 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'.". | 
| 1a040 | 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 | 
| 1a060 | 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 | 
| 1a080 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1a0a0 | 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))..;;;# | 
| 1a0c0 | 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 | 
| 1a0e0 | 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 | 
| 1a100 | 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 | 
| 1a120 | 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 | 
| 1a140 | 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 | 
| 1a160 | 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 | 
| 1a180 | 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 | 
| 1a1a0 | 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. | 
| 1a1c0 | 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. | 
| 1a1e0 | 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 | 
| 1a200 | 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 | 
| 1a220 | 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 | 
| 1a240 | 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. | 
| 1a260 | 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 | 
| 1a280 | 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............... | 
| 1a2a0 | 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 | 
| 1a2c0 | 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 | 
| 1a2e0 | 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 | 
| 1a300 | 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 | 
| 1a320 | 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 | 
| 1a340 | 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 | 
| 1a360 | 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. | 
| 1a380 | 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 | 
| 1a3a0 | 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 | 
| 1a3c0 | 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 | 
| 1a3e0 | 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 | 
| 1a400 | 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 | 
| 1a420 | 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 | 
| 1a440 | 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 | 
| 1a460 | 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. | 
| 1a480 | 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 | 
| 1a4a0 | 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.'.'" | 
| 1a4c0 | 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 | 
| 1a4e0 | 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 | 
| 1a500 | 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?... | 
| 1a520 | 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 | 
| 1a540 | 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 | 
| 1a560 | 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 | 
| 1a580 | 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. | 
| 1a5a0 | 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." | 
| 1a5c0 | 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))............ | 
| 1a5e0 | 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)... | 
| 1a600 | 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 | 
| 1a620 | 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 | 
| 1a640 | 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 | 
| 1a660 | 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- | 
| 1a680 | 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 | 
| 1a6a0 | 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 | 
| 1a6c0 | 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 | 
| 1a6e0 | 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 | 
| 1a700 | 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 | 
| 1a720 | 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 | 
| 1a740 | 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 | 
| 1a760 | 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 | 
| 1a780 | 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 | 
| 1a7a0 | 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)))......... | 
| 1a7c0 | 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 | 
| 1a7e0 | 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 | 
| 1a800 | 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))..... | 
| 1a820 | 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 | 
| 1a840 | 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 | 
| 1a860 | 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)) | 
| 1a880 | 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 | 
| 1a8a0 | 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 | 
| 1a8c0 | 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 | 
| 1a8e0 | 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 | 
| 1a900 | 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 | 
| 1a920 | 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 | 
| 1a940 | 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 | 
| 1a960 | 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. | 
| 1a980 | 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 | 
| 1a9a0 | 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 | 
| 1a9c0 | 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 | 
| 1a9e0 | 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 | 
| 1aa00 | 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. | 
| 1aa20 | 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 | 
| 1aa40 | 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 | 
| 1aa60 | 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 | 
| 1aa80 | 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 | 
| 1aaa0 | 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 | 
| 1aac0 | 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)...................... | 
| 1aae0 | 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 | 
| 1ab00 | 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 | 
| 1ab20 | 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 | 
| 1ab40 | 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))).... | 
| 1ab60 | 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 | 
| 1ab80 | 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 | 
| 1aba0 | 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 | 
| 1abc0 | 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).. | 
| 1abe0 | 20 20 20 20 20 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 | 
| 1ac00 | 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.................. | 
| 1ac20 | 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 | 
| 1ac40 | 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."\\'")..... | 
| 1ac60 | 20 20 20 20 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 | 
| 1ac80 | 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................ | 
| 1aca0 | 20 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 | 
| 1acc0 | 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."")................. | 
| 1ace0 | 20 20 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 | 
| 1ad00 | 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)).................... | 
| 1ad20 | 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 | ....................."\\'")))... | 
| 1ad40 | 20 20 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 | 
| 1ad60 | 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.( | 
| 1ad80 | 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................ | 
| 1ada0 | 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)... | 
| 1adc0 | 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 | 
| 1ade0 | 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))..... | 
| 1ae00 | 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 | 
| 1ae20 | 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...... | 
| 1ae40 | 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 | 
| 1ae60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1ae80 | 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).................. | 
| 1aea0 | 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 | 
| 1aec0 | 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............................... | 
| 1aee0 | 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)...... | 
| 1af00 | 20 20 20 20 20 20 20 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 | ...............................( | 
| 1af20 | 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............... | 
| 1af40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1af60 | 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 | 
| 1af80 | 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)....................... | 
| 1afa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1afc0 | 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 | 
| 1afe0 | 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)...... | 
| 1b000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1b020 | 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." | 
| 1b040 | 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 | 
| 1b060 | 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))))))..................... | 
| 1b080 | 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))...... | 
| 1b0a0 | 20 20 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 | 
| 1b0c0 | 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..... | 
| 1b0e0 | 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. | 
| 1b100 | 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. | 
| 1b120 | 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 | 
| 1b140 | 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 | 
| 1b160 | 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)......... | 
| 1b180 | 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._)..... | 
| 1b1a0 | 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 | 
| 1b1c0 | 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 | 
| 1b1e0 | 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 | 
| 1b200 | 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)))))........... | 
| 1b220 | 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 | 
| 1b240 | 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 | 
| 1b260 | 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 | 
| 1b280 | 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))) | 
| 1b2a0 | 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 | 
| 1b2c0 | 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 | 
| 1b2e0 | 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) | 
| 1b300 | 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 | 
| 1b320 | 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 | 
| 1b340 | 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 | 
| 1b360 | 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 | 
| 1b380 | 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 | 
| 1b3a0 | 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.( | 
| 1b3c0 | 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)............ | 
| 1b3e0 | 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 | 
| 1b400 | 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))...... | 
| 1b420 | 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. | 
| 1b440 | 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. | 
| 1b460 | 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 | 
| 1b480 | 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 | 
| 1b4a0 | 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).( | 
| 1b4c0 | 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))....... | 
| 1b4e0 | 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 | 
| 1b500 | 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.....................( | 
| 1b520 | 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................ | 
| 1b540 | 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).... | 
| 1b560 | 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 | 
| 1b580 | 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))........... | 
| 1b5a0 | 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)....... | 
| 1b5c0 | 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)).. | 
| 1b5e0 | 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 | 
| 1b600 | 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 | 
| 1b620 | 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 | 
| 1b640 | 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 | 
| 1b660 | 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 | 
| 1b680 | 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.. | 
| 1b6a0 | 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, | 
| 1b6c0 | 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' | 
| 1b6e0 | 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 | 
| 1b700 | 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 | 
| 1b720 | 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' | 
| 1b740 | 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 | 
| 1b760 | 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 | 
| 1b780 | 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 | 
| 1b7a0 | 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 | 
| 1b7c0 | 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 | 
| 1b7e0 | 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 | 
| 1b800 | 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 | 
| 1b820 | 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 | 
| 1b840 | 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))......... | 
| 1b860 | 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). | 
| 1b880 | 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 | 
| 1b8a0 | 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))......................((>.( | 
| 1b8c0 | 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)................ | 
| 1b8e0 | 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 | 
| 1b900 | 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))........ | 
| 1b920 | 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................ | 
| 1b940 | 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 | 
| 1b960 | 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)) | 
| 1b980 | 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.# | 
| 1b9a0 | 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 | 
| 1b9c0 | 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 | 
| 1b9e0 | 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 | 
| 1ba00 | 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 | 
| 1ba20 | 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 | 
| 1ba40 | 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).. | 
| 1ba60 | 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 | 
| 1ba80 | 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... | 
| 1baa0 | 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 | 
| 1bac0 | 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.. | 
| 1bae0 | 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 | 
| 1bb00 | 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 | 
| 1bb20 | 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. | 
| 1bb40 | 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 | 
| 1bb60 | 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 | 
| 1bb80 | 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 | 
| 1bba0 | 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 | 
| 1bbc0 | 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 | 
| 1bbe0 | 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. | 
| 1bc00 | 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 | 
| 1bc20 | 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/ | 
| 1bc40 | 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. | 
| 1bc60 | 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\". | 
| 1bc80 | 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 | 
| 1bca0 | 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 | 
| 1bcc0 | 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 | 
| 1bce0 | 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 | 
| 1bd00 | 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 | 
| 1bd20 | 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 | 
| 1bd40 | 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 | 
| 1bd60 | 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 | 
| 1bd80 | 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 | 
| 1bda0 | 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. | 
| 1bdc0 | 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 | 
| 1bde0 | 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 | 
| 1be00 | 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 | 
| 1be20 | 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 | 
| 1be40 | 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. | 
| 1be60 | 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 | 
| 1be80 | 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 | 
| 1bea0 | 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 | 
| 1bec0 | 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\". | 
| 1bee0 | 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.. | 
| 1bf00 | 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. | 
| 1bf20 | 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 | 
| 1bf40 | 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 | 
| 1bf60 | 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 | 
| 1bf80 | 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 | 
| 1bfa0 | 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- | 
| 1bfc0 | 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 | 
| 1bfe0 | 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 | 
| 1c000 | 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 | 
| 1c020 | 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... | 
| 1c040 | 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 | 
| 1c060 | 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.. | 
| 1c080 | 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 | 
| 1c0a0 | 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 | 
| 1c0c0 | 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. | 
| 1c0e0 | 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 | 
| 1c100 | 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 | 
| 1c120 | 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 | 
| 1c140 | 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 | 
| 1c160 | 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 | 
| 1c180 | 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. | 
| 1c1a0 | 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 | 
| 1c1c0 | 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/ | 
| 1c1e0 | 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. | 
| 1c200 | 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\". | 
| 1c220 | 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 | 
| 1c240 | 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 | 
| 1c260 | 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 | 
| 1c280 | 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 | 
| 1c2a0 | 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 | 
| 1c2c0 | 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 | 
| 1c2e0 | 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 | 
| 1c300 | 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 | 
| 1c320 | 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 | 
| 1c340 | 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 | 
| 1c360 | 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 | 
| 1c380 | 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 | 
| 1c3a0 | 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- | 
| 1c3c0 | 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. | 
| 1c3e0 | 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 | 
| 1c400 | 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 | 
| 1c420 | 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 | 
| 1c440 | 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 | 
| 1c460 | 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 | 
| 1c480 | 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 | 
| 1c4a0 | 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. | 
| 1c4c0 | 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 | 
| 1c4e0 | 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 | 
| 1c500 | 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")...( | 
| 1c520 | 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 | 
| 1c540 | 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 | 
| 1c560 | 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 | 
| 1c580 | 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 | 
| 1c5a0 | 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) | 
| 1c5c0 | 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 | 
| 1c5e0 | 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. | 
| 1c600 | 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 | 
| 1c620 | 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. | 
| 1c640 | 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 | 
| 1c660 | 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 | 
| 1c680 | 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 | 
| 1c6a0 | 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 | 
| 1c6c0 | 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 | 
| 1c6e0 | 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. | 
| 1c700 | 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 | 
| 1c720 | 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 | 
| 1c740 | 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 | 
| 1c760 | 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,. | 
| 1c780 | 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 | 
| 1c7a0 | 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\" | 
| 1c7c0 | 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 | 
| 1c7e0 | 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),.` | 
| 1c800 | 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- | 
| 1c820 | 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 | 
| 1c840 | 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 | 
| 1c860 | 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 | 
| 1c880 | 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 | 
| 1c8a0 | 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 | 
| 1c8c0 | 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 | 
| 1c8e0 | 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 | 
| 1c900 | 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 | 
| 1c920 | 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 | 
| 1c940 | 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. | 
| 1c960 | 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, | 
| 1c980 | 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 | 
| 1c9a0 | 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 | 
| 1c9c0 | 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 | 
| 1c9e0 | 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 | 
| 1ca00 | 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 | 
| 1ca20 | 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 | 
| 1ca40 | 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 | 
| 1ca60 | 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 | 
| 1ca80 | 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, | 
| 1caa0 | 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. | 
| 1cac0 | 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 | 
| 1cae0 | 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- | 
| 1cb00 | 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 | 
| 1cb20 | 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 | 
| 1cb40 | 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 | 
| 1cb60 | 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 | 
| 1cb80 | 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 | 
| 1cba0 | 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 | 
| 1cbc0 | 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 | 
| 1cbe0 | 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 | 
| 1cc00 | 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'.... | 
| 1cc20 | 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 | 
| 1cc40 | 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 | 
| 1cc60 | 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'". | 
| 1cc80 | 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 | 
| 1cca0 | 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 | 
| 1ccc0 | 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 | 
| 1cce0 | 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)).... | 
| 1cd00 | 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 | 
| 1cd20 | 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:."........... | 
| 1cd40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1cd60 | 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 | 
| 1cd80 | 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 | 
| 1cda0 | 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. | 
| 1cdc0 | 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 | 
| 1cde0 | 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)).... | 
| 1ce00 | 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 | 
| 1ce20 | 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 | 
| 1ce40 | 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 | 
| 1ce60 | 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 | 
| 1ce80 | 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 | 
| 1cea0 | 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 | 
| 1cec0 | 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 | 
| 1cee0 | 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 | 
| 1cf00 | 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 | 
| 1cf20 | 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 | 
| 1cf40 | 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.(& | 
| 1cf60 | 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 | 
| 1cf80 | 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 | 
| 1cfa0 | 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 | 
| 1cfc0 | 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 | 
| 1cfe0 | 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 | 
| 1d000 | 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")...( | 
| 1d020 | 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 | 
| 1d040 | 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) | 
| 1d060 | 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 | 
| 1d080 | 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 | 
| 1d0a0 | 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 | 
| 1d0c0 | 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 | 
| 1d0e0 | 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 | 
| 1d100 | 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- | 
| 1d120 | 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 | 
| 1d140 | 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 | 
| 1d160 | 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 | 
| 1d180 | 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))..;;; | 
| 1d1a0 | 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 | 
| 1d1c0 | 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 | 
| 1d1e0 | 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 | 
| 1d200 | 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 | 
| 1d220 | 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 | 
| 1d240 | 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 | 
| 1d260 | 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)) | 
| 1d280 | 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 | 
| 1d2a0 | 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 | 
| 1d2c0 | 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).... | 
| 1d2e0 | 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 | 
| 1d300 | 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))... | 
| 1d320 | 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 | 
| 1d340 | 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 | 
| 1d360 | 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")))))..;;;# | 
| 1d380 | 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 | 
| 1d3a0 | 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 | 
| 1d3c0 | 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- | 
| 1d3e0 | 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 | 
| 1d400 | 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 | 
| 1d420 | 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 | 
| 1d440 | 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 | 
| 1d460 | 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 | 
| 1d480 | 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 | 
| 1d4a0 | 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 73 61 | ojectile-acquire-root))).....(sa | 
| 1d4c0 | 76 65 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e 64    6f 77 0a 20 20 20 20 20 20 28 61 64 64 2d 64 69 | ve-selected-window.......(add-di | 
| 1d4e0 | 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 6c 65 20 76 | r-local-variable.mode.variable.v | 
| 1d500 | 61 6c 75 65 29 0a 20 20 20 20 20 20 28 73 61 76    65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 | alue).......(save-buffer)....... | 
| 1d520 | 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | (kill-buffer))))..;;;###autoload | 
| 1d540 | 0a 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 | .(defun.projectile-delete-dir-lo | 
| 1d560 | 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 6c 65 29 0a 20 20 22 | cal-variable.(mode.variable)..." | 
| 1d580 | 52 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 | Run.`delete-dir-local-variable'. | 
| 1d5a0 | 77 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 | with..dir-locals.el.in.root.of.p | 
| 1d5c0 | 72 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 | roject...Parameters.MODE.VARIABL | 
| 1d5e0 | 45 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 | E.VALUE.are.passed.directly.to.` | 
| 1d600 | 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 2e 22 0a 20 20 28 | delete-dir-local-variable'."...( | 
| 1d620 | 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 29 0a 20 20 20 20 20 | let.((inhibit-read-only.t)...... | 
| 1d640 | 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 6f 6a 65 63 74 69 6c | ...(default-directory.(projectil | 
| 1d660 | 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29    29 0a 20 20 20 20 28 73 61 76 65 2d 73 65 6c 65 | e-acquire-root))).....(save-sele | 
| 1d680 | 63 74 65 64 2d 77 69 6e 64 6f 77 0a 20 20 20 20    20 20 28 64 65 6c 65 74 65 2d 64 69 72 2d 6c 6f | cted-window.......(delete-dir-lo | 
| 1d6a0 | 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 20 20 20 | cal-variable.mode.variable)..... | 
| 1d6c0 | 20 20 28 73 61 76 65 2d 62 75 66 66 65 72 29 0a    20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 | ..(save-buffer).......(kill-buff | 
| 1d6e0 | 65 72 29 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 | er))))....;;;;.Sorting.project.f | 
| 1d700 | 69 6c 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 | iles.(defun.projectile-sort-file | 
| 1d720 | 73 20 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 | s.(files)..."Sort.FILES.accordin | 
| 1d740 | 67 20 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 | g.to.`projectile-sort-order'.".. | 
| 1d760 | 20 28 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 | .(cl-case.projectile-sort-order. | 
| 1d780 | 20 20 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 | ....(default.files).....(recentf | 
| 1d7a0 | 20 28 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 | .(projectile-sort-by-recentf-fir | 
| 1d7c0 | 73 74 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 | st.files)).....(recently-active. | 
| 1d7e0 | 28 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 6c 79 2d 61 63 74 | (projectile-sort-by-recently-act | 
| 1d800 | 69 76 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 | ive-first.files)).....(modificat | 
| 1d820 | 69 6f 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 | ion-time.(projectile-sort-by-mod | 
| 1d840 | 69 66 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 | ification-time.files)).....(acce | 
| 1d860 | 73 73 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 | ss-time.(projectile-sort-by-acce | 
| 1d880 | 73 73 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 | ss-time.files))))..(defun.projec | 
| 1d8a0 | 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 20 28 66 69 6c 65 | tile-sort-by-recentf-first.(file | 
| 1d8c0 | 73 29 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 | s)..."Sort.FILES.by.a.recent.fir | 
| 1d8e0 | 73 74 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 | st.scheme."...(let.((project-rec | 
| 1d900 | 65 6e 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 | entf-files.(projectile-recentf-f | 
| 1d920 | 69 6c 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 | iles))).....(append.project-rece | 
| 1d940 | 6e 74 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 | ntf-files.............(projectil | 
| 1d960 | 65 2d 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 | e-difference.files.project-recen | 
| 1d980 | 74 66 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 | tf-files))))..(defun.projectile- | 
| 1d9a0 | 73 6f 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 | sort-by-recently-active-first.(f | 
| 1d9c0 | 69 6c 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 | iles)..."Sort.FILES.by.most.rece | 
| 1d9e0 | 6e 74 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 | ntly.active.buffers.or.opened.fi | 
| 1da00 | 6c 65 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 | les."...(let.((project-recently- | 
| 1da20 | 61 63 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 | active-files.(projectile-recentl | 
| 1da40 | 79 2d 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 | y-active-files))).....(append.pr | 
| 1da60 | 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 0a 20 20 20 20 | oject-recently-active-files..... | 
| 1da80 | 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 65 20 66 | ........(projectile-difference.f | 
| 1daa0 | 69 6c 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 | iles.project-recently-active-fil | 
| 1dac0 | 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 72 74 2d 62 | es))))..(defun.projectile-sort-b | 
| 1dae0 | 79 2d 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 | y-modification-time.(files)..."S | 
| 1db00 | 6f 72 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 | ort.FILES.by.modification.time." | 
| 1db20 | 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 28 70 72 6f | ...(let.((default-directory.(pro | 
| 1db40 | 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 28 63 6c 2d | jectile-project-root))).....(cl- | 
| 1db60 | 73 6f 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 | sort......(copy-sequence.files). | 
| 1db80 | 20 20 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 | .....(lambda.(file1.file2)...... | 
| 1dba0 | 20 20 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 | ..(let.((file1-mtime.(nth.5.(fil | 
| 1dbc0 | 65 2d 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 | e-attributes.file1)))........... | 
| 1dbe0 | 20 20 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 | ...(file2-mtime.(nth.5.(file-att | 
| 1dc00 | 72 69 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 | ributes.file2))))..........(not. | 
| 1dc20 | 28 74 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 | (time-less-p.file1-mtime.file2-m | 
| 1dc40 | 74 69 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 | time)))))))..(defun.projectile-s | 
| 1dc60 | 6f 72 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 | ort-by-access-time.(files)..."So | 
| 1dc80 | 72 74 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 | rt.FILES.by.access.time."...(let | 
| 1dca0 | 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 63 74 69 6c 65 | .((default-directory.(projectile | 
| 1dcc0 | 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 72 74 0a 20 20 | -project-root))).....(cl-sort... | 
| 1dce0 | 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 20 20 20 28 6c | ...(copy-sequence.files)......(l | 
| 1dd00 | 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 28 6c 65 74 20 | ambda.(file1.file2)........(let. | 
| 1dd20 | 28 28 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 | ((file1-atime.(nth.4.(file-attri | 
| 1dd40 | 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 20 28 66 69 6c | butes.file1)))..............(fil | 
| 1dd60 | 65 32 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 | e2-atime.(nth.4.(file-attributes | 
| 1dd80 | 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 69 6d 65 2d 6c | .file2))))..........(not.(time-l | 
| 1dda0 | 65 73 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 | ess-p.file1-atime.file2-atime))) | 
| 1ddc0 | 29 29 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 | ))))....;;;;.Find.directory.in.p | 
| 1dde0 | 72 6f 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 | roject.functionality.(defun.proj | 
| 1de00 | 65 63 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 | ectile--find-dir.(invalidate-cac | 
| 1de20 | 68 65 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 | he.&optional.dired-variant)..."J | 
| 1de40 | 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 75 73 69 | ump.to.a.project's.directory.usi | 
| 1de60 | 6e 67 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 | ng.completion...With.INVALIDATE- | 
| 1de80 | 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 | 
| 1dea0 | 74 2e 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 | t...With.DIRED-VARIANT.set.to.a. | 
| 1dec0 | 64 65 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 | defun,.use.that.instead.of.`dire | 
| 1dee0 | 64 27 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 | d'...A.typical.example.of.such.a | 
| 1df00 | 20 64 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 | .defun.would.be.`dired-other-win | 
| 1df20 | 64 6f 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 | dow'.or.`dired-other-frame'"...( | 
| 1df40 | 70 72 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 | projectile-maybe-invalidate-cach | 
| 1df60 | 65 20 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 | e.invalidate-cache)...(let*.((pr | 
| 1df80 | 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 74 29 29 | oject.(projectile-acquire-root)) | 
| 1dfa0 | 0a 20 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 | ..........(dir.(projectile-compl | 
| 1dfc0 | 65 74 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 | ete-dir.project))..........(dire | 
| 1dfe0 | 64 2d 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 | d-v.(or.dired-variant.#'dired))) | 
| 1e000 | 0a 20 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 | .....(funcall.dired-v.(expand-fi | 
| 1e020 | 6c 65 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 | le-name.dir.project)).....(run-h | 
| 1e040 | 6f 6f 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 | ooks.'projectile-find-dir-hook)) | 
| 1e060 | 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 | 
| 1e080 | 69 6c 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 | ile-find-dir.(&optional.invalida | 
| 1e0a0 | 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 65 63 74 27 73 | te-cache)..."Jump.to.a.project's | 
| 1e0c0 | 20 64 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 | .directory.using.completion...Wi | 
| 1e0e0 | 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 48 45 | th.a.prefix.arg.INVALIDATE-CACHE | 
| 1e100 | 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 22 0a 20 | .invalidates.the.cache.first.".. | 
| 1e120 | 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 65 | .(interactive."P")...(projectile | 
| 1e140 | 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 29 29 0a 0a 3b | --find-dir.invalidate-cache))..; | 
| 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 | 66 69 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 | find-dir-other-window.(&optional | 
| 1e1a0 | 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 20 61 20 | .invalidate-cache)..."Jump.to.a. | 
| 1e1c0 | 70 72 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 | project's.directory.in.other.win | 
| 1e1e0 | 64 6f 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 | dow.using.completion...With.a.pr | 
| 1e200 | 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 69 | efix.arg.INVALIDATE-CACHE.invali | 
| 1e220 | 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 69 6e 74 65 72 | dates.the.cache.first."...(inter | 
| 1e240 | 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- | 
| 1e260 | 64 69 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 | dir.invalidate-cache.#'dired-oth | 
| 1e280 | 65 72 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 | er-window))..;;;###autoload.(def | 
| 1e2a0 | 75 6e 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 | un.projectile-find-dir-other-fra | 
| 1e2c0 | 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 0a | me.(&optional.invalidate-cache). | 
| 1e2e0 | 20 20 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 | .."Jump.to.a.project's.directory | 
| 1e300 | 20 69 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 | .in.other.frame.using.completion | 
| 1e320 | 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- | 
| 1e340 | 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 | 
| 1e360 | 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 | 
| 1e380 | 63 74 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 | ctile--find-dir.invalidate-cache | 
| 1e3a0 | 20 23 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 | .#'dired-other-frame))..(defun.p | 
| 1e3c0 | 72 6f 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 | rojectile-complete-dir.(project) | 
| 1e3e0 | 0a 20 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 | ...(let.((project-dirs.(projecti | 
| 1e400 | 6c 65 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 | le-project-dirs.project))).....( | 
| 1e420 | 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...... | 
| 1e440 | 22 46 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 | "Find.dir:."......(if.projectile | 
| 1e460 | 2d 66 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 | -find-dir-includes-top-level.... | 
| 1e480 | 20 20 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 | ......(append.'("./").project-di | 
| 1e4a0 | 72 73 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 | rs)........project-dirs))))..;;; | 
| 1e4c0 | 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 | 
| 1e4e0 | 6e 64 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 | nd-test-file.(&optional.invalida | 
| 1e500 | 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 65 63 74 27 73 | te-cache)..."Jump.to.a.project's | 
| 1e520 | 20 74 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 | .test.file.using.completion...Wi | 
| 1e540 | 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 48 45 | th.a.prefix.arg.INVALIDATE-CACHE | 
| 1e560 | 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 22 0a 20 | .invalidates.the.cache.first.".. | 
| 1e580 | 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 65 | .(interactive."P")...(projectile | 
| 1e5a0 | 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 61 | -maybe-invalidate-cache.invalida | 
| 1e5c0 | 74 65 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 | te-cache)...(let.((file.(project | 
| 1e5e0 | 69 6c 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 | ile-completing-read."Find.test.f | 
| 1e600 | 69 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 20 20 20 20 20 20 | ile:.".......................... | 
| 1e620 | 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 75 72 | .................(projectile-cur | 
| 1e640 | 72 65 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 | rent-project-test-files))))..... | 
| 1e660 | 28 66 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 | (find-file.(expand-file-name.fil | 
| 1e680 | 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 29 0a | e.(projectile-project-root))))). | 
| 1e6a0 | 0a 28 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 | .(defun.projectile-test-files.(f | 
| 1e6c0 | 69 6c 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 | iles)..."Return.only.the.test.FI | 
| 1e6e0 | 4c 45 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 | LES."...(cl-remove-if-not.'proje | 
| 1e700 | 63 74 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 | ctile-test-file-p.files))..(defu | 
| 1e720 | 6e 20 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 | n.projectile--merge-related-file | 
| 1e740 | 73 2d 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 | s-fns.(related-files-fns)..."Mer | 
| 1e760 | 67 65 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 | ge.multiple.RELATED-FILES-FNS.in | 
| 1e780 | 74 6f 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 | to.one.function."...(lambda.(pat | 
| 1e7a0 | 68 29 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 | h).....(let.(merged-plist)...... | 
| 1e7c0 | 20 28 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 | .(dolist.(fn.related-files-fns.m | 
| 1e7e0 | 65 72 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 | erged-plist).........(let.((plis | 
| 1e800 | 74 20 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 | t.(funcall.fn.path)))........... | 
| 1e820 | 28 63 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 | (cl-loop.for.(key.value).on.plis | 
| 1e840 | 74 20 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 | t.by.#'cddr....................d | 
| 1e860 | 6f 20 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 | o.(let.((values.(if.(consp.value | 
| 1e880 | 29 20 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 | ).value.(list.value))))......... | 
| 1e8a0 | 20 20 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 | ................(if.(plist-membe | 
| 1e8c0 | 72 20 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 | r.merged-plist.key)............. | 
| 1e8e0 | 20 20 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 | ................(nconc.(plist-ge | 
| 1e900 | 74 20 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 | t.merged-plist.key).values)..... | 
| 1e920 | 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 6d 65 72 67 | ......................(setq.merg | 
| 1e940 | 65 64 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 | ed-plist.(plist-put.merged-plist | 
| 1e960 | 20 6b 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 | .key.values))))))))))..(defun.pr | 
| 1e980 | 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 73 74 20 28 70 | ojectile--related-files-plist.(p | 
| 1e9a0 | 72 6f 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 | roject-root.file)..."Return.a.pl | 
| 1e9c0 | 69 73 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 | ist.containing.all.related.files | 
| 1e9e0 | 20 69 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 | .information.for.FILE..PROJECT-R | 
| 1ea00 | 4f 4f 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 | OOT.is.the.project.root."...(if- | 
| 1ea20 | 6c 65 74 2a 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 | let*.((rel-path.(if.(file-name-a | 
| 1ea40 | 62 73 6f 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 | bsolute-p.file)................. | 
| 1ea60 | 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 66 69 6c | .........(file-relative-name.fil | 
| 1ea80 | 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 20 20 20 20 | e.project-root)................. | 
| 1eaa0 | 20 20 20 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 | .......file))............(custom | 
| 1eac0 | 2d 66 75 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 | -function.(funcall.projectile-re | 
| 1eae0 | 6c 61 74 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 | lated-files-fn-function.(project | 
| 1eb00 | 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 20 20 28 66 75 6e 63 | ile-project-type)))).......(func | 
| 1eb20 | 61 6c 6c 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 | all.(cond.((functionp.custom-fun | 
| 1eb40 | 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 20 63 75 73 | ction).......................cus | 
| 1eb60 | 74 6f 6d 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 | tom-function)................... | 
| 1eb80 | 20 20 20 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 | ...((consp.custom-function)..... | 
| 1eba0 | 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 6d | ..................(projectile--m | 
| 1ebc0 | 65 72 67 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 | erge-related-files-fns.custom-fu | 
| 1ebe0 | 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 20 20 20 20 28 74 | nction))......................(t | 
| 1ec00 | 0a 20 20 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 | .......................(error."U | 
| 1ec20 | 6e 73 75 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 | nsupported.value.type.of.:relate | 
| 1ec40 | 64 2d 66 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 | d-files-fn")))................re | 
| 1ec60 | 6c 2d 70 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 | l-path)))..(defun.projectile--re | 
| 1ec80 | 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 28 66 69 6c 65 20 | lated-files-plist-by-kind.(file. | 
| 1eca0 | 6b 69 6e 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 | kind)..."Return.a.plist.containi | 
| 1ecc0 | 6e 67 20 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 | ng.:paths.and/or.:predicate.of.K | 
| 1ece0 | 49 4e 44 20 66 6f 72 20 46 49 4c 45 2e 22 0a 20    20 28 69 66 2d 6c 65 74 2a 20 28 28 70 72 6f 6a | IND.for.FILE."...(if-let*.((proj | 
| 1ed00 | 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 6f | ect-root.(projectile-project-roo | 
| 1ed20 | 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 6a 65 63 74 69 6c | t))............(plist.(projectil | 
| 1ed40 | 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 6a 65 63 74 2d 72 | e--related-files-plist.project-r | 
| 1ed60 | 6f 6f 74 20 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 | oot.file))............(has-kind? | 
| 1ed80 | 20 28 70 6c 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 | .(plist-member.plist.kind))).... | 
| 1eda0 | 20 20 20 28 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 | ...(let*.((kind-value.(plist-get | 
| 1edc0 | 20 70 6c 69 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 | .plist.kind))..............(valu | 
| 1ede0 | 65 73 20 28 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 | es.(if.(cl-typep.kind-value.'(or | 
| 1ee00 | 20 73 74 72 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 | .string.function)).............. | 
| 1ee20 | 20 20 20 20 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 | ............(list.kind-value)... | 
| 1ee40 | 20 20 20 20 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 | .....................kind-value) | 
| 1ee60 | 29 0a 20 20 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 | )..............(paths.(delete-du | 
| 1ee80 | 70 73 20 28 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 | ps.(cl-remove-if-not.'stringp.va | 
| 1eea0 | 6c 75 65 73 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 | lues)))..............(predicates | 
| 1eec0 | 20 28 64 65 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 | .(delete-dups.(cl-remove-if-not. | 
| 1eee0 | 27 66 75 6e 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 | 'functionp.values)))).........(a | 
| 1ef00 | 70 70 65 6e 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 | ppend..........;;.Make.sure.that | 
| 1ef20 | 20 3a 70 61 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 | .:paths.exists.even.with.nil.if. | 
| 1ef40 | 74 68 65 72 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 | there.is.no.predicates.......... | 
| 1ef60 | 28 77 68 65 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 | (when.(or.paths.(null.predicates | 
| 1ef80 | 29 29 0a 20 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 | ))............(list.:paths.(cl-r | 
| 1efa0 | 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 20 20 20 | emove-if-not.................... | 
| 1efc0 | 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 20 20 20 20 20 20 20 | ......(lambda.(f)............... | 
| 1efe0 | 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 69 6c 65 2d 65 78 | .............(projectile-file-ex | 
| 1f000 | 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 65 2d 6e | ists-p.(projectile-expand-file-n | 
| 1f020 | 61 6d 65 2d 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 | ame-wildcard.f.project-root))).. | 
| 1f040 | 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 73 29 29 29 | ........................paths))) | 
| 1f060 | 0a 20 20 20 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 | ..........(when.predicates...... | 
| 1f080 | 20 20 20 20 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 | ......(list.:predicate.(if.(=.1. | 
| 1f0a0 | 28 6c 65 6e 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 | (length.predicates))............ | 
| 1f0c0 | 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 70 72 65 64 69 63 | .....................(car.predic | 
| 1f0e0 | 61 74 65 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 20 20 20 | ates)........................... | 
| 1f100 | 20 20 20 20 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 | ....(lambda.(other-file)........ | 
| 1f120 | 20 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 6c 2d 73 6f 6d | .........................(cl-som | 
| 1f140 | 65 20 28 6c 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 | e.(lambda.(predicate)........... | 
| 1f160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1f180 | 20 28 66 75 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 | .(funcall.predicate.other-file)) | 
| 1f1a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 1f1c0 | 20 20 20 20 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 | ..........predicates)))))))))..( | 
| 1f1e0 | 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 65 73 2d | defun.projectile--related-files- | 
| 1f200 | 66 72 6f 6d 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 | from-plist.(plist)..."Return.a.l | 
| 1f220 | 69 73 74 20 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 | ist.of.files.matching.to.PLIST.f | 
| 1f240 | 72 6f 6d 20 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 | rom.current.project.files."...(l | 
| 1f260 | 65 74 2a 20 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 | et*.((predicate.(plist-get.plist | 
| 1f280 | 20 3a 70 72 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 | .:predicate))..........(paths.(p | 
| 1f2a0 | 6c 69 73 74 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 | list-get.plist.:paths))).....(de | 
| 1f2c0 | 6c 65 74 65 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 | lete-dups.(append............... | 
| 1f2e0 | 20 20 20 20 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 | ....paths...................(whe | 
| 1f300 | 6e 20 70 72 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 | n.predicate..................... | 
| 1f320 | 28 63 6c 2d 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 | (cl-remove-if-not.predicate.(pro | 
| 1f340 | 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))) | 
| 1f360 | 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 72 65 6c 61 74 65 64 | ))))..(defun.projectile--related | 
| 1f380 | 2d 66 69 6c 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 | -files-kinds(file)..."Return.a.l | 
| 1f3a0 | 69 73 74 20 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 | ist.o.keywords.meaning.available | 
| 1f3c0 | 20 72 65 6c 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 | .related.kinds.for.FILE."...(if- | 
| 1f3e0 | 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 69 6c 65 2d | let*.((project-root.(projectile- | 
| 1f400 | 70 72 6f 6a 65 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 | project-root))............(plist | 
| 1f420 | 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 70 6c 69 73 | .(projectile--related-files-plis | 
| 1f440 | 74 20 70 72 6f 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 | t.project-root.file))).......(cl | 
| 1f460 | 2d 6c 6f 6f 70 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 | -loop.for.key.in.plist.by.#'cddr | 
| 1f480 | 0a 20 20 20 20 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 | ................collect.key))).. | 
| 1f4a0 | 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 65 73 | (defun.projectile--related-files | 
| 1f4c0 | 20 28 66 69 6c 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 | .(file.kind)..."Return.a.list.of | 
| 1f4e0 | 20 72 65 6c 61 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 | .related.files.of.KIND.for.FILE. | 
| 1f500 | 22 0a 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 | "...(projectile--related-files-f | 
| 1f520 | 72 6f 6d 2d 70 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 | rom-plist.(projectile--related-f | 
| 1f540 | 69 6c 65 73 2d 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 | iles-plist-by-kind.file.kind))). | 
| 1f560 | 0a 28 64 65 66 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 | .(defun.projectile--find-related | 
| 1f580 | 2d 66 69 6c 65 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 | -file.(file.&optional.kind)..."C | 
| 1f5a0 | 68 6f 6f 73 65 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 | hoose.a.file.from.files.related. | 
| 1f5c0 | 74 6f 20 46 49 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 | to.FILE.as.KIND..If.KIND.is.not. | 
| 1f5e0 | 70 72 6f 76 69 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 | provided,.a.list.of.possible.kin | 
| 1f600 | 64 73 20 63 61 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 | ds.can.be.chosen."...(unless.kin | 
| 1f620 | 64 0a 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28    28 61 76 61 69 6c 61 62 6c 65 2d 6b 69 6e 64 73 | d.....(if-let*.((available-kinds | 
| 1f640 | 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 6b 69 6e 64 | .(projectile--related-files-kind | 
| 1f660 | 73 20 66 69 6c 65 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 | s.file))).........(setq.kind.(if | 
| 1f680 | 20 28 3d 20 28 6c 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 | .(=.(length.available-kinds).1). | 
| 1f6a0 | 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 72 20 61 76 61 69 | .......................(car.avai | 
| 1f6c0 | 6c 61 62 6c 65 2d 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 | lable-kinds).................... | 
| 1f6e0 | 20 20 28 69 6e 74 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 | ..(intern.(projectile-completing | 
| 1f700 | 2d 72 65 61 64 20 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 | -read."Kind.:".available-kinds)) | 
| 1f720 | 29 29 0a 20 20 20 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 | )).......(error."No.related.file | 
| 1f740 | 73 20 66 6f 75 6e 64 22 29 29 29 0a 0a 20 20 28    69 66 2d 6c 65 74 2a 20 28 28 63 61 6e 64 69 64 | s.found")))....(if-let*.((candid | 
| 1f760 | 61 74 65 73 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 20 | ates.(projectile--related-files. | 
| 1f780 | 66 69 6c 65 20 6b 69 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 | file.kind))).......(projectile-e | 
| 1f7a0 | 78 70 61 6e 64 2d 72 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 | xpand-root.(projectile--choose-f | 
| 1f7c0 | 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 0a 20 20 20 20 | rom-candidates.candidates))..... | 
| 1f7e0 | 28 65 72 72 6f 72 0a 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 | (error......"No.matching.related | 
| 1f800 | 20 66 69 6c 65 20 61 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 | .file.as.`%s'.found.for.project. | 
| 1f820 | 74 79 70 65 20 60 25 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 | type.`%s'"......kind.(projectile | 
| 1f840 | 2d 70 72 6f 6a 65 63 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 | -project-type))))..;;;###autoloa | 
| 1f860 | 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 65 6c 61 74 65 64 | d.(defun.projectile-find-related | 
| 1f880 | 2d 66 69 6c 65 2d 6f 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 | -file-other-window.()..."Open.re | 
| 1f8a0 | 6c 61 74 65 64 20 66 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 | lated.file.in.other.window."...( | 
| 1f8c0 | 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 68 65 72 2d | interactive)...(find-file-other- | 
| 1f8e0 | 77 69 6e 64 6f 77 0a 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 | window....(projectile--find-rela | 
| 1f900 | 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 29 0a 0a | ted-file.(buffer-file-name)))).. | 
| 1f920 | 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 | 
| 1f940 | 2d 66 69 6e 64 2d 72 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 | -find-related-file-other-frame.( | 
| 1f960 | 29 0a 20 20 22 4f 70 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 | )..."Open.related.file.in.other. | 
| 1f980 | 66 72 61 6d 65 2e 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 | frame."...(interactive)...(find- | 
| 1f9a0 | 66 69 6c 65 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 | file-other-frame....(projectile- | 
| 1f9c0 | 2d 66 69 6e 64 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 | -find-related-file.(buffer-file- | 
| 1f9e0 | 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 75 6e 20 | name))))..;;;###autoload.(defun. | 
| 1fa00 | 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 28 29 0a 20 | projectile-find-related-file().. | 
| 1fa20 | 20 22 4f 70 65 6e 20 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 | ."Open.related.file."...(interac | 
| 1fa40 | 74 69 76 65 29 0a 20 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 | tive)...(find-file....(projectil | 
| 1fa60 | 65 2d 2d 66 69 6e 64 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 | e--find-related-file.(buffer-fil | 
| 1fa80 | 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 75 | e-name))))..;;;###autoload.(defu | 
| 1faa0 | 6e 20 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 2d 67 72 | n.projectile-related-files-fn-gr | 
| 1fac0 | 6f 75 70 73 28 6b 69 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 | oups(kind.groups)..."Generate.a. | 
| 1fae0 | 72 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 61 | related-files-fn.which.relates.a | 
| 1fb00 | 73 20 4b 49 4e 44 20 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 | s.KIND.for.files.in.each.of.GROU | 
| 1fb20 | 50 53 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 69 66 2d 6c 65 | PS."...(lambda.(path).....(if-le | 
| 1fb40 | 74 2a 20 28 28 67 72 6f 75 70 2d 66 6f 75 6e 64    20 28 63 6c 2d 66 69 6e 64 2d 69 66 20 28 6c 61 | t*.((group-found.(cl-find-if.(la | 
| 1fb60 | 6d 62 64 61 20 28 67 72 6f 75 70 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mbda.(group).................... | 
| 1fb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6d 65 6d 62 65 72 20 70 61 74 | .....................(member.pat | 
| 1fba0 | 68 20 67 72 6f 75 70 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 | h.group))....................... | 
| 1fbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    67 72 6f 75 70 73 29 29 29 0a 20 20 20 20 20 20 | ................groups)))....... | 
| 1fbe0 | 20 20 28 6c 69 73 74 20 6b 69 6e 64 20 28 63 6c    2d 72 65 6d 6f 76 65 20 70 61 74 68 20 67 72 6f | ..(list.kind.(cl-remove.path.gro | 
| 1fc00 | 75 70 2d 66 6f 75 6e 64 20 3a 74 65 73 74 20 27    65 71 75 61 6c 29 29 29 29 29 0a 0a 3b 3b 3b 23 | up-found.:test.'equal)))))..;;;# | 
| 1fc20 | 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 65 6c | ##autoload.(defun.projectile-rel | 
| 1fc40 | 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 2d 65 78    74 65 6e 73 69 6f 6e 73 28 6b 69 6e 64 20 65 78 | ated-files-fn-extensions(kind.ex | 
| 1fc60 | 74 65 6e 73 69 6f 6e 73 29 0a 20 20 22 47 65 6e    65 72 61 74 65 20 61 20 72 65 6c 61 74 65 64 2d | tensions)..."Generate.a.related- | 
| 1fc80 | 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 66 | files-fn.which.relates.as.KIND.f | 
| 1fca0 | 6f 72 20 66 69 6c 65 73 20 68 61 76 69 6e 67 20    45 58 54 45 4e 53 49 4f 4e 53 2e 22 0a 20 20 28 | or.files.having.EXTENSIONS."...( | 
| 1fcc0 | 6c 61 6d 62 64 61 20 28 70 61 74 68 29 0a 20 20    20 20 28 6c 65 74 2a 20 28 28 65 78 74 20 28 66 | lambda.(path).....(let*.((ext.(f | 
| 1fce0 | 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69    6f 6e 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 | ile-name-extension.path))....... | 
| 1fd00 | 20 20 20 20 20 28 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 70 | .....(basename.(file-name-base.p | 
| 1fd20 | 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 62 61 73 65 6e 61 6d 65 2d 72 65 67 65 78 | ath))............(basename-regex | 
| 1fd40 | 70 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20    62 61 73 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 | p.(regexp-quote.basename)))..... | 
| 1fd60 | 20 20 28 77 68 65 6e 20 28 6d 65 6d 62 65 72 20    65 78 74 20 65 78 74 65 6e 73 69 6f 6e 73 29 0a | ..(when.(member.ext.extensions). | 
| 1fd80 | 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6b 69    6e 64 20 28 6c 61 6d 62 64 61 20 28 6f 74 68 65 | ........(list.kind.(lambda.(othe | 
| 1fda0 | 72 2d 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 28 61 6e | r-path)......................(an | 
| 1fdc0 | 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d    70 20 62 61 73 65 6e 61 6d 65 2d 72 65 67 65 78 | d.(string-match-p.basename-regex | 
| 1fde0 | 70 20 6f 74 68 65 72 2d 70 61 74 68 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | p.other-path)................... | 
| 1fe00 | 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 62    61 73 65 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 | ........(equal.basename.(file-na | 
| 1fe20 | 6d 65 2d 62 61 73 65 20 6f 74 68 65 72 2d 70 61    74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | me-base.other-path))............ | 
| 1fe40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6c 65 74 20 28 28 6f 74 68 65 72 2d 65 78 74 20 | ...............(let.((other-ext. | 
| 1fe60 | 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e    73 69 6f 6e 20 6f 74 68 65 72 2d 70 61 74 68 29 | (file-name-extension.other-path) | 
| 1fe80 | 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 28 | )).............................( | 
| 1fea0 | 61 6e 64 20 28 6d 65 6d 62 65 72 20 6f 74 68 65    72 2d 65 78 74 20 65 78 74 65 6e 73 69 6f 6e 73 | and.(member.other-ext.extensions | 
| 1fec0 | 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 | )............................... | 
| 1fee0 | 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 6f    74 68 65 72 2d 65 78 74 20 65 78 74 29 29 29 29 | ...(not.(equal.other-ext.ext)))) | 
| 1ff00 | 29 29 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 6e 20 70 | )))))))..;;;###autoload.(defun.p | 
| 1ff20 | 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 2d 74 65 73 74 2d | rojectile-related-files-fn-test- | 
| 1ff40 | 77 69 74 68 2d 70 72 65 66 69 78 28 65 78 74 65    6e 73 69 6f 6e 20 74 65 73 74 2d 70 72 65 66 69 | with-prefix(extension.test-prefi | 
| 1ff60 | 78 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 | x)..."Generate.a.related-files-f | 
| 1ff80 | 6e 20 77 68 69 63 68 20 72 65 6c 61 74 65 73 20    74 65 73 74 73 20 61 6e 64 20 69 6d 70 6c 2e 0a | n.which.relates.tests.and.impl.. | 
| 1ffa0 | 55 73 65 20 66 69 6c 65 73 20 77 69 74 68 20 45    58 54 45 4e 53 49 4f 4e 20 62 61 73 65 64 20 6f | Use.files.with.EXTENSION.based.o | 
| 1ffc0 | 6e 20 54 45 53 54 2d 50 52 45 46 49 58 2e 22 0a    20 20 28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 | n.TEST-PREFIX."...(lambda.(path) | 
| 1ffe0 | 0a 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61    6c 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 | .....(when.(equal.(file-name-ext | 
| 20000 | 65 6e 73 69 6f 6e 20 70 61 74 68 29 20 65 78 74    65 6e 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 6c | ension.path).extension).......(l | 
| 20020 | 65 74 2a 20 28 28 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 | et*.((file-name.(file-name-nondi | 
| 20040 | 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 28 66 69 6e | rectory.path))..............(fin | 
| 20060 | 64 2d 69 6d 70 6c 3f 20 28 73 74 72 69 6e 67 2d    70 72 65 66 69 78 2d 70 20 74 65 73 74 2d 70 72 | d-impl?.(string-prefix-p.test-pr | 
| 20080 | 65 66 69 78 20 66 69 6c 65 2d 6e 61 6d 65 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 | efix.file-name))..............(f | 
| 200a0 | 69 6c 65 2d 6e 61 6d 65 2d 74 6f 2d 66 69 6e 64    20 28 69 66 20 66 69 6e 64 2d 69 6d 70 6c 3f 0a | ile-name-to-find.(if.find-impl?. | 
| 200c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 200e0 | 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 66    69 6c 65 2d 6e 61 6d 65 20 28 6c 65 6e 67 74 68 | ....(substring.file-name.(length | 
| 20100 | 20 74 65 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 20 20 20 20 | .test-prefix)).................. | 
| 20120 | 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 74 65 73 74 2d 70 72 | .................(concat.test-pr | 
| 20140 | 65 66 69 78 20 66 69 6c 65 2d 6e 61 6d 65 29 29    29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 | efix.file-name)))).........(list | 
| 20160 | 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).... | 
| 20180 | 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). | 
| 201a0 | 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 | 
| 201c0 | 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 | 
| 201e0 | 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. | 
| 20200 | 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 | 
| 20220 | 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 3b | th).file-name-to-find))))))))..; | 
| 20240 | 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- | 
| 20260 | 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 73 75 66 66 69 | related-files-fn-test-with-suffi | 
| 20280 | 78 28 65 78 74 65 6e 73 69 6f 6e 20 74 65 73 74    2d 73 75 66 66 69 78 29 0a 20 20 22 47 65 6e 65 | x(extension.test-suffix)..."Gene | 
| 202a0 | 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 72 65 | rate.a.related-files-fn.which.re | 
| 202c0 | 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 73 20 | lates.tests.and.impl..Use.files. | 
| 202e0 | 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 53 55 46 | with.EXTENSION.based.on.TEST-SUF | 
| 20300 | 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 65 6e | FIX."...(lambda.(path).....(when | 
| 20320 | 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 61 74 | .(equal.(file-name-extension.pat | 
| 20340 | 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 6c 65 | h).extension).......(let*.((file | 
| 20360 | 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 70 61 | -name.(file-name-nondirectory.pa | 
| 20380 | 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 64 6f 74 2d 65 78 74 20 28 63 6f 6e 63 | th))..............(dot-ext.(conc | 
| 203a0 | 61 74 20 22 2e 22 20 65 78 74 65 6e 73 69 6f 6e    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | at.".".extension)).............. | 
| 203c0 | 28 73 75 66 66 69 78 2d 65 78 74 20 28 63 6f 6e    63 61 74 20 74 65 73 74 2d 73 75 66 66 69 78 20 | (suffix-ext.(concat.test-suffix. | 
| 203e0 | 64 6f 74 2d 65 78 74 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 | dot-ext))..............(find-imp | 
| 20400 | 6c 3f 20 28 73 74 72 69 6e 67 2d 73 75 66 66 69    78 2d 70 20 73 75 66 66 69 78 2d 65 78 74 20 66 | l?.(string-suffix-p.suffix-ext.f | 
| 20420 | 69 6c 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 | ile-name))..............(file-na | 
| 20440 | 6d 65 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 | me-to-find.(if.find-impl?....... | 
| 20460 | 20 20 20 20 20 20 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 | ..............................(c | 
| 20480 | 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 65 20 30 20 28 2d 20 | oncat.(substring.file-name.0.(-. | 
| 204a0 | 28 6c 65 6e 67 74 68 20 73 75 66 66 69 78 2d 65    78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | (length.suffix-ext)))........... | 
| 204c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 204e0 | 20 20 64 6f 74 2d 65 78 74 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..dot-ext)...................... | 
| 20500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 63 61 74 20 28 73 75 62 73 74 72 69 6e 67 20 | .............(concat.(substring. | 
| 20520 | 66 69 6c 65 2d 6e 61 6d 65 20 30 20 28 2d 20 28    6c 65 6e 67 74 68 20 64 6f 74 2d 65 78 74 29 29 | file-name.0.(-.(length.dot-ext)) | 
| 20540 | 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 | )............................... | 
| 20560 | 20 20 20 20 20 20 20 20 20 20 20 20 73 75 66 66    69 78 2d 65 78 74 29 29 29 29 0a 20 20 20 20 20 | ............suffix-ext))))...... | 
| 20580 | 20 20 20 28 6c 69 73 74 20 28 69 66 20 66 69 6e    64 2d 69 6d 70 6c 3f 20 3a 69 6d 70 6c 20 3a 74 | ...(list.(if.find-impl?.:impl.:t | 
| 205a0 | 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6c 61 6d 62 64 61 20 28 6f 74 68 65 | est)...............(lambda.(othe | 
| 205c0 | 72 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 | r-path).................(and.(st | 
| 205e0 | 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 66 69    6c 65 2d 6e 61 6d 65 2d 74 6f 2d 66 69 6e 64 20 | ring-suffix-p.file-name-to-find. | 
| 20600 | 6f 74 68 65 72 2d 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 | other-path)..................... | 
| 20620 | 20 28 65 71 75 61 6c 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 | .(equal.(file-name-nondirectory. | 
| 20640 | 6f 74 68 65 72 2d 70 61 74 68 29 20 66 69 6c 65    2d 6e 61 6d 65 2d 74 6f 2d 66 69 6e 64 29 29 29 | other-path).file-name-to-find))) | 
| 20660 | 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 74 65 73 74 2d 66 69 | )))))..(defun.projectile-test-fi | 
| 20680 | 6c 65 2d 70 20 28 66 69 6c 65 29 0a 20 20 22 43    68 65 63 6b 20 69 66 20 46 49 4c 45 20 69 73 20 | le-p.(file)..."Check.if.FILE.is. | 
| 206a0 | 61 20 74 65 73 74 20 66 69 6c 65 2e 22 0a 20 20    28 6c 65 74 20 28 28 6b 69 6e 64 73 20 28 70 72 | a.test.file."...(let.((kinds.(pr | 
| 206c0 | 6f 6a 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 | ojectile--related-files-kinds.fi | 
| 206e0 | 6c 65 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20    28 28 6d 65 6d 62 65 72 20 3a 69 6d 70 6c 20 6b | le))).....(cond.((member.:impl.k | 
| 20700 | 69 6e 64 73 29 20 74 29 0a 20 20 20 20 20 20 20    20 20 20 28 28 6d 65 6d 62 65 72 20 3a 74 65 73 | inds).t)...........((member.:tes | 
| 20720 | 74 20 6b 69 6e 64 73 29 20 6e 69 6c 29 0a 20 20    20 20 20 20 20 20 20 20 28 74 20 28 6f 72 20 28 | t.kinds).nil)...........(t.(or.( | 
| 20740 | 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 69 6e 67 2d 70 72 | cl-some.(lambda.(pat).(string-pr | 
| 20760 | 65 66 69 78 2d 70 20 70 61 74 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f | efix-p.pat.(file-name-nondirecto | 
| 20780 | 72 79 20 66 69 6c 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 | ry.file)))...................... | 
| 207a0 | 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 72 | .....(delq.nil.(list.(funcall.pr | 
| 207c0 | 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 | 
| 207e0 | 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 0a 20 20 20 20 | rojectile-project-type)))))..... | 
| 20800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c    2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 70 | .............(cl-some.(lambda.(p | 
| 20820 | 61 74 29 20 28 73 74 72 69 6e 67 2d 73 75 66 66    69 78 2d 70 20 70 61 74 20 28 66 69 6c 65 2d 6e | at).(string-suffix-p.pat.(file-n | 
| 20840 | 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 6e 61 6d 65 2d 6e 6f | ame-sans-extension.(file-name-no | 
| 20860 | 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ndirectory.file))))............. | 
| 20880 | 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 6c 69 73 74 20 28 66 | ..............(delq.nil.(list.(f | 
| 208a0 | 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 2d 66 75 | uncall.projectile-test-suffix-fu | 
| 208c0 | 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 70 65 29 | nction.(projectile-project-type) | 
| 208e0 | 29 29 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 63 75 72 | )))))))))..(defun.projectile-cur | 
| 20900 | 72 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 74 65 73    74 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 52 65 | rent-project-test-files.()..."Re | 
| 20920 | 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 74    65 73 74 20 66 69 6c 65 73 20 66 6f 72 20 74 68 | turn.a.list.of.test.files.for.th | 
| 20940 | 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 74 69 6c | e.current.project."...(projectil | 
| 20960 | 65 2d 74 65 73 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 | e-test-files.(projectile-current | 
| 20980 | 2d 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 29 29    29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65 | -project-files)))..(defvar.proje | 
| 209a0 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 73 20 6e 69 6c 0a 20 20 22 41 6e 20 61 6c | ctile-project-types.nil..."An.al | 
| 209c0 | 69 73 74 20 68 6f 6c 64 69 6e 67 20 61 6c 6c 20    70 72 6f 6a 65 63 74 20 74 79 70 65 73 20 74 68 | ist.holding.all.project.types.th | 
| 209e0 | 61 74 20 61 72 65 20 6b 6e 6f 77 6e 20 74 6f 20    50 72 6f 6a 65 63 74 69 6c 65 2e 0a 54 68 65 20 | at.are.known.to.Projectile..The. | 
| 20a00 | 70 72 6f 6a 65 63 74 20 74 79 70 65 73 20 61 72    65 20 73 79 6d 62 6f 6c 73 20 61 6e 64 20 74 68 | project.types.are.symbols.and.th | 
| 20a20 | 65 79 20 61 72 65 20 6c 69 6e 6b 65 64 20 74 6f    20 70 6c 69 73 74 73 20 68 6f 6c 64 69 6e 67 0a | ey.are.linked.to.plists.holding. | 
| 20a40 | 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 6f    66 20 74 68 65 20 76 61 72 69 6f 75 73 20 70 72 | the.properties.of.the.various.pr | 
| 20a60 | 6f 6a 65 63 74 20 74 79 70 65 73 2e 22 29 0a 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | oject.types.")..(defun.projectil | 
| 20a80 | 65 2d 2d 63 6f 6d 62 69 6e 65 2d 70 6c 69 73 74    73 20 28 26 72 65 73 74 20 70 6c 69 73 74 73 29 | e--combine-plists.(&rest.plists) | 
| 20aa0 | 0a 20 20 22 43 72 65 61 74 65 20 61 20 73 69 6e    67 6c 65 20 70 72 6f 70 65 72 74 79 20 6c 69 73 | ..."Create.a.single.property.lis | 
| 20ac0 | 74 20 66 72 6f 6d 20 61 6c 6c 20 70 6c 69 73 74    73 20 69 6e 20 50 4c 49 53 54 53 2e 0a 54 68 65 | t.from.all.plists.in.PLISTS..The | 
| 20ae0 | 20 70 72 6f 63 65 73 73 20 73 74 61 72 74 73 20    62 79 20 63 6f 70 79 69 6e 67 20 74 68 65 20 66 | .process.starts.by.copying.the.f | 
| 20b00 | 69 72 73 74 20 6c 69 73 74 2c 20 61 6e 64 20 74    68 65 6e 20 73 65 74 74 69 6e 67 20 70 72 6f 70 | irst.list,.and.then.setting.prop | 
| 20b20 | 65 72 74 69 65 73 0a 66 72 6f 6d 20 74 68 65 20    6f 74 68 65 72 20 6c 69 73 74 73 2e 20 20 53 65 | erties.from.the.other.lists...Se | 
| 20b40 | 74 74 69 6e 67 73 20 69 6e 20 74 68 65 20 6c 61    73 74 20 6c 69 73 74 20 61 72 65 20 74 68 65 20 | ttings.in.the.last.list.are.the. | 
| 20b60 | 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74    0a 6f 6e 65 73 20 61 6e 64 20 6f 76 65 72 72 75 | most.significant.ones.and.overru | 
| 20b80 | 6c 65 20 73 65 74 74 69 6e 67 73 20 69 6e 20 74    68 65 20 6f 74 68 65 72 20 6c 69 73 74 73 2e 22 | le.settings.in.the.other.lists." | 
| 20ba0 | 0a 20 20 28 6c 65 74 20 28 28 72 74 6e 20 28 63    6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 70 6f | ...(let.((rtn.(copy-sequence.(po | 
| 20bc0 | 70 20 70 6c 69 73 74 73 29 29 29 0a 20 20 20 20    20 20 20 20 70 20 76 20 6c 73 29 0a 20 20 20 20 | p.plists))).........p.v.ls)..... | 
| 20be0 | 28 77 68 69 6c 65 20 70 6c 69 73 74 73 0a 20 20    20 20 20 20 28 73 65 74 71 20 6c 73 20 28 70 6f | (while.plists.......(setq.ls.(po | 
| 20c00 | 70 20 70 6c 69 73 74 73 29 29 0a 20 20 20 20 20    20 28 77 68 69 6c 65 20 6c 73 0a 20 20 20 20 20 | p.plists)).......(while.ls...... | 
| 20c20 | 20 20 20 28 73 65 74 71 20 70 20 28 70 6f 70 20    6c 73 29 20 76 20 28 70 6f 70 20 6c 73 29 29 0a | ...(setq.p.(pop.ls).v.(pop.ls)). | 
| 20c40 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 74    6e 20 28 70 6c 69 73 74 2d 70 75 74 20 72 74 6e | ........(setq.rtn.(plist-put.rtn | 
| 20c60 | 20 70 20 76 29 29 29 29 0a 20 20 20 20 72 74 6e    29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 70 72 | .p.v)))).....rtn))..(cl-defun.pr | 
| 20c80 | 6f 6a 65 63 74 69 6c 65 2d 2d 62 75 69 6c 64 2d    70 72 6f 6a 65 63 74 2d 70 6c 69 73 74 0a 20 20 | ojectile--build-project-plist... | 
| 20ca0 | 20 20 28 6d 61 72 6b 65 72 2d 66 69 6c 65 73 20    26 6b 65 79 20 70 72 6f 6a 65 63 74 2d 66 69 6c | ..(marker-files.&key.project-fil | 
| 20cc0 | 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69    72 20 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d 70 | e.compilation-dir.configure.comp | 
| 20ce0 | 69 6c 65 20 69 6e 73 74 61 6c 6c 20 70 61 63 6b    61 67 65 20 74 65 73 74 20 72 75 6e 20 74 65 73 | ile.install.package.test.run.tes | 
| 20d00 | 74 2d 73 75 66 66 69 78 20 74 65 73 74 2d 70 72    65 66 69 78 20 73 72 63 2d 64 69 72 20 74 65 73 | t-suffix.test-prefix.src-dir.tes | 
| 20d20 | 74 2d 64 69 72 20 72 65 6c 61 74 65 64 2d 66 69    6c 65 73 2d 66 6e 29 0a 20 20 22 52 65 74 75 72 | t-dir.related-files-fn)..."Retur | 
| 20d40 | 6e 20 61 20 70 72 6f 6a 65 63 74 20 74 79 70 65    20 70 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 | n.a.project.type.plist.with.the. | 
| 20d60 | 70 72 6f 76 69 64 65 64 20 61 72 67 75 6d 65 6e    74 73 2e 0a 0a 41 20 70 72 6f 6a 65 63 74 20 74 | provided.arguments...A.project.t | 
| 20d80 | 79 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 | ype.is.defined.by.PROJECT-TYPE,. | 
| 20da0 | 61 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 | a.set.of.MARKER-FILES,.and.optio | 
| 20dc0 | 6e 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 | nal.keyword.arguments:.PROJECT-F | 
| 20de0 | 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 6e 20 74 68 65 | ILE.the.main.project.file.in.the | 
| 20e00 | 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 4d 50 49 4c 41 | .root.project.directory..COMPILA | 
| 20e20 | 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 75 6e 20 74 68 | TION-DIR.the.directory.to.run.th | 
| 20e40 | 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 6e 2c 0a 43 4f | e.tests-.and.compilations.in,.CO | 
| 20e60 | 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 6f 6d 6d 61 6e | NFIGURE.which.specifies.a.comman | 
| 20e80 | 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 63 74 0a 20 20 | d.that.configures.the.project... | 
| 20ea0 | 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 20 77 69 6c 6c | ........`%s'.in.the.command.will | 
| 20ec0 | 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 63 74 69 6c 65 | .be.substituted.with.(projectile | 
| 20ee0 | 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 66 6f 72 65 20 | -project-root)...........before. | 
| 20f00 | 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 20 77 68 69 63 | the.command.is.run,.COMPILE.whic | 
| 20f20 | 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 62 75 69 6c 64 | h.specifies.a.command.that.build | 
| 20f40 | 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 68 20 73 70 65 | s.the.project,.INSTALL.which.spe | 
| 20f60 | 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 20 74 68 65 20 | cifies.a.command.to.install.the. | 
| 20f80 | 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 69 66 69 65 73 | project..PACKAGE.which.specifies | 
| 20fa0 | 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 72 6f 6a 65 63 | .a.command.to.package.the.projec | 
| 20fc0 | 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 6f 6d 6d 61 6e | t..TEST.which.specified.a.comman | 
| 20fe0 | 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 55 4e 20 77 68 | d.that.tests.the.project,.RUN.wh | 
| 21000 | 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 72 75 6e | ich.specifies.a.command.that.run | 
| 21020 | 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 77 68 69 63 68 | s.the.project,.TEST-SUFFIX.which | 
| 21040 | 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 2c 20 61 6e 64 | .specifies.test.file.suffix,.and | 
| 21060 | 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 73 20 74 65 73 | .TEST-PREFIX.which.specifies.tes | 
| 21080 | 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 68 20 73 70 65 | t.file.prefix..SRC-DIR.which.spe | 
| 210a0 | 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 63 65 20 72 65 | cifies.the.path.to.the.source.re | 
| 210c0 | 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 54 45 53 54 | lative.to.the.project.root..TEST | 
| 210e0 | 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 74 68 20 74 6f | -DIR.which.specifies.the.path.to | 
| 21100 | 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 70 72 6f 6a 65 | .the.tests.relative.to.the.proje | 
| 21120 | 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 68 69 63 68 20 | ct.root..RELATED-FILES-FN.which. | 
| 21140 | 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 20 74 6f 20 66 | specifies.a.custom.function.to.f | 
| 21160 | 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 61 73 20 74 65 | ind.the.related.files.such.as.te | 
| 21180 | 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 77 3a 0a 20 20 | st/impl/other.files.as.below:... | 
| 211a0 | 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 49 4c 45 20 61 | ..CUSTOM-FUNCTION.accepts.FILE.a | 
| 211c0 | 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 6f 6a 65 63 74 | s.relative.path.from.the.project | 
| 211e0 | 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 73 74 20 63 6f | .root.and.....returns.a.plist.co | 
| 21200 | 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 74 68 65 72 20 | ntaining.:test,.:impl.or.:other. | 
| 21220 | 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 20 70 61 74 68 | as.key.and.the.....relative.path | 
| 21240 | 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 65 2e 20 20 50 | /paths.or.predicate.as.value...P | 
| 21260 | 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 74 69 76 65 20 | REDICATE.accepts.a.....relative. | 
| 21280 | 70 61 74 68 20 61 73 20 74 68 65 20 69 6e 70 75    74 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f | path.as.the.input."...(let.((pro | 
| 212a0 | 6a 65 63 74 2d 70 6c 69 73 74 20 28 6c 69 73 74    20 27 6d 61 72 6b 65 72 2d 66 69 6c 65 73 20 6d | ject-plist.(list.'marker-files.m | 
| 212c0 | 61 72 6b 65 72 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 | arker-files..................... | 
| 212e0 | 20 20 20 20 20 20 20 20 20 27 70 72 6f 6a 65 63    74 2d 66 69 6c 65 20 70 72 6f 6a 65 63 74 2d 66 | .........'project-file.project-f | 
| 21300 | 69 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 | ile............................. | 
| 21320 | 20 27 63 6f 6d 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 | .'compilation-dir.compilation-di | 
| 21340 | 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 27 | r..............................' | 
| 21360 | 63 6f 6e 66 69 67 75 72 65 2d 63 6f 6d 6d 61 6e    64 20 63 6f 6e 66 69 67 75 72 65 0a 20 20 20 20 | configure-command.configure..... | 
| 21380 | 20 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 63 6f 6d 70 69 6c | .........................'compil | 
| 213a0 | 65 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 70 69 6c    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-command.compile............... | 
| 213c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27    74 65 73 74 2d 63 6f 6d 6d 61 6e 64 20 74 65 73 | ...............'test-command.tes | 
| 213e0 | 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 27 | t..............................' | 
| 21400 | 69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20    69 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20 20 20 | install-command.install......... | 
| 21420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 27 70 61 63 6b 61 67 65 2d 63 6f | .....................'package-co | 
| 21440 | 6d 6d 61 6e 64 20 70 61 63 6b 61 67 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mmand.package................... | 
| 21460 | 20 20 20 20 20 20 20 20 20 20 20 27 72 75 6e 2d    63 6f 6d 6d 61 6e 64 20 72 75 6e 29 29 0a 20 20 | ...........'run-command.run))... | 
| 21480 | 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 2d 66    69 6c 65 73 20 28 69 66 20 28 6c 69 73 74 70 20 | ......(project-files.(if.(listp. | 
| 214a0 | 70 72 6f 6a 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 | project-file)................... | 
| 214c0 | 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74    2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 | .........project-file........... | 
| 214e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6c 69 73 74 20 70 72 6f 6a 65 63 74 2d 66 69 6c | ...............(list.project-fil | 
| 21500 | 65 29 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73    74 20 28 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 | e)))).....(dolist.(project-file. | 
| 21520 | 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 29 0a 20    20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 | project-files).......(when.(and. | 
| 21540 | 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 28 6e 6f    74 20 28 6d 65 6d 62 65 72 20 70 72 6f 6a 65 63 | project-file.(not.(member.projec | 
| 21560 | 74 2d 66 69 6c 65 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 | t-file.projectile-project-root-f | 
| 21580 | 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20    28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 70 72 | iles))).........(add-to-list.'pr | 
| 215a0 | 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 20 70 72 6f 6a | ojectile-project-root-files.proj | 
| 215c0 | 65 63 74 2d 66 69 6c 65 29 29 29 0a 20 20 20 20    28 77 68 65 6e 20 74 65 73 74 2d 73 75 66 66 69 | ect-file))).....(when.test-suffi | 
| 215e0 | 78 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 2d 70 6c 69 73 74 | x.......(plist-put.project-plist | 
| 21600 | 20 27 74 65 73 74 2d 73 75 66 66 69 78 20 74 65    73 74 2d 73 75 66 66 69 78 29 29 0a 20 20 20 20 | .'test-suffix.test-suffix))..... | 
| 21620 | 28 77 68 65 6e 20 74 65 73 74 2d 70 72 65 66 69    78 0a 20 20 20 20 20 20 28 70 6c 69 73 74 2d 70 | (when.test-prefix.......(plist-p | 
| 21640 | 75 74 20 70 72 6f 6a 65 63 74 2d 70 6c 69 73 74    20 27 74 65 73 74 2d 70 72 65 66 69 78 20 74 65 | ut.project-plist.'test-prefix.te | 
| 21660 | 73 74 2d 70 72 65 66 69 78 29 29 0a 20 20 20 20    28 77 68 65 6e 20 73 72 63 2d 64 69 72 0a 20 20 | st-prefix)).....(when.src-dir... | 
| 21680 | 20 20 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 73 72 | ....(plist-put.project-plist.'sr | 
| 216a0 | 63 2d 64 69 72 20 73 72 63 2d 64 69 72 29 29 0a    20 20 20 20 28 77 68 65 6e 20 74 65 73 74 2d 64 | c-dir.src-dir)).....(when.test-d | 
| 216c0 | 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 2d 70 6c 69 73 | ir.......(plist-put.project-plis | 
| 216e0 | 74 20 27 74 65 73 74 2d 64 69 72 20 74 65 73 74    2d 64 69 72 29 29 0a 20 20 20 20 28 77 68 65 6e | t.'test-dir.test-dir)).....(when | 
| 21700 | 20 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 6c 69 73 74 2d 70 | .related-files-fn.......(plist-p | 
| 21720 | 75 74 20 70 72 6f 6a 65 63 74 2d 70 6c 69 73 74    20 27 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d | ut.project-plist.'related-files- | 
| 21740 | 66 6e 20 72 65 6c 61 74 65 64 2d 66 69 6c 65 73    2d 66 6e 29 29 0a 20 20 20 20 70 72 6f 6a 65 63 | fn.related-files-fn)).....projec | 
| 21760 | 74 2d 70 6c 69 73 74 29 29 0a 0a 28 63 6c 2d 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | t-plist))..(cl-defun.projectile- | 
| 21780 | 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 0a 20 20 20 20 28 70 72 6f 6a 65 | register-project-type.....(proje | 
| 217a0 | 63 74 2d 74 79 70 65 20 6d 61 72 6b 65 72 2d 66    69 6c 65 73 20 26 6b 65 79 20 70 72 6f 6a 65 63 | ct-type.marker-files.&key.projec | 
| 217c0 | 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 69 67 75 72 65 | t-file.compilation-dir.configure | 
| 217e0 | 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 73 74 20 72 75 | .compile.install.package.test.ru | 
| 21800 | 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 72 63 2d 64 69 | n.test-suffix.test-prefix.src-di | 
| 21820 | 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 29 0a 20 20 22 | r.test-dir.related-files-fn)..." | 
| 21840 | 52 65 67 69 73 74 65 72 20 61 20 70 72 6f 6a 65    63 74 20 74 79 70 65 20 77 69 74 68 20 70 72 6f | Register.a.project.type.with.pro | 
| 21860 | 6a 65 63 74 69 6c 65 2e 0a 0a 41 20 70 72 6f 6a    65 63 74 20 74 79 70 65 20 69 73 20 64 65 66 69 | jectile...A.project.type.is.defi | 
| 21880 | 6e 65 64 20 62 79 20 50 52 4f 4a 45 43 54 2d 54    59 50 45 2c 20 61 20 73 65 74 20 6f 66 20 4d 41 | ned.by.PROJECT-TYPE,.a.set.of.MA | 
| 218a0 | 52 4b 45 52 2d 46 49 4c 45 53 2c 0a 61 6e 64 20    6f 70 74 69 6f 6e 61 6c 20 6b 65 79 77 6f 72 64 | RKER-FILES,.and.optional.keyword | 
| 218c0 | 20 61 72 67 75 6d 65 6e 74 73 3a 0a 50 52 4f 4a    45 43 54 2d 46 49 4c 45 20 74 68 65 20 6d 61 69 | .arguments:.PROJECT-FILE.the.mai | 
| 218e0 | 6e 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 69    6e 20 74 68 65 20 72 6f 6f 74 20 70 72 6f 6a 65 | n.project.file.in.the.root.proje | 
| 21900 | 63 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 43 4f    4d 50 49 4c 41 54 49 4f 4e 2d 44 49 52 20 74 68 | ct.directory..COMPILATION-DIR.th | 
| 21920 | 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 72    75 6e 20 74 68 65 20 74 65 73 74 73 2d 20 61 6e | e.directory.to.run.the.tests-.an | 
| 21940 | 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 20 69    6e 2c 0a 43 4f 4e 46 49 47 55 52 45 20 77 68 69 | d.compilations.in,.CONFIGURE.whi | 
| 21960 | 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 63 6f 6e 66 | ch.specifies.a.command.that.conf | 
| 21980 | 69 67 75 72 65 73 20 74 68 65 20 70 72 6f 6a 65    63 74 0a 20 20 20 20 20 20 20 20 20 20 60 25 73 | igures.the.project...........`%s | 
| 219a0 | 27 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64    20 77 69 6c 6c 20 62 65 20 73 75 62 73 74 69 74 | '.in.the.command.will.be.substit | 
| 219c0 | 75 74 65 64 20 77 69 74 68 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f | uted.with.(projectile-project-ro | 
| 219e0 | 6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 62 65    66 6f 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 | ot)...........before.the.command | 
| 21a00 | 20 69 73 20 72 75 6e 2c 0a 43 4f 4d 50 49 4c 45    20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 | .is.run,.COMPILE.which.specifies | 
| 21a20 | 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20    62 75 69 6c 64 73 20 74 68 65 20 70 72 6f 6a 65 | .a.command.that.builds.the.proje | 
| 21a40 | 63 74 2c 0a 49 4e 53 54 41 4c 4c 20 77 68 69 63    68 20 73 70 65 63 69 66 69 65 73 20 61 20 63 6f | ct,.INSTALL.which.specifies.a.co | 
| 21a60 | 6d 6d 61 6e 64 20 74 6f 20 69 6e 73 74 61 6c 6c    20 74 68 65 20 70 72 6f 6a 65 63 74 2e 0a 50 41 | mmand.to.install.the.project..PA | 
| 21a80 | 43 4b 41 47 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 | CKAGE.which.specifies.a.command. | 
| 21aa0 | 74 6f 20 70 61 63 6b 61 67 65 20 74 68 65 20 70    72 6f 6a 65 63 74 2e 0a 54 45 53 54 20 77 68 69 | to.package.the.project..TEST.whi | 
| 21ac0 | 63 68 20 73 70 65 63 69 66 69 65 64 20 61 20 63    6f 6d 6d 61 6e 64 20 74 68 61 74 20 74 65 73 74 | ch.specified.a.command.that.test | 
| 21ae0 | 73 20 74 68 65 20 70 72 6f 6a 65 63 74 2c 0a 52    55 4e 20 77 68 69 63 68 20 73 70 65 63 69 66 69 | s.the.project,.RUN.which.specifi | 
| 21b00 | 65 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61    74 20 72 75 6e 73 20 74 68 65 20 70 72 6f 6a 65 | es.a.command.that.runs.the.proje | 
| 21b20 | 63 74 2c 0a 54 45 53 54 2d 53 55 46 46 49 58 20    77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 | ct,.TEST-SUFFIX.which.specifies. | 
| 21b40 | 74 65 73 74 20 66 69 6c 65 20 73 75 66 66 69 78    2c 20 61 6e 64 0a 54 45 53 54 2d 50 52 45 46 49 | test.file.suffix,.and.TEST-PREFI | 
| 21b60 | 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 70 72 65 66 | X.which.specifies.test.file.pref | 
| 21b80 | 69 78 2e 0a 53 52 43 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 | ix..SRC-DIR.which.specifies.the. | 
| 21ba0 | 70 61 74 68 20 74 6f 20 74 68 65 20 73 6f 75 72    63 65 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 | path.to.the.source.relative.to.t | 
| 21bc0 | 68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e    0a 54 45 53 54 2d 44 49 52 20 77 68 69 63 68 20 | he.project.root..TEST-DIR.which. | 
| 21be0 | 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 74 65 73 74 73 20 | specifies.the.path.to.the.tests. | 
| 21c00 | 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 0a 52 45 | relative.to.the.project.root..RE | 
| 21c20 | 4c 41 54 45 44 2d 46 49 4c 45 53 2d 46 4e 20 77    68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 61 | LATED-FILES-FN.which.specifies.a | 
| 21c40 | 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 68 65 20 72 65 6c | .custom.function.to.find.the.rel | 
| 21c60 | 61 74 65 64 0a 66 69 6c 65 73 20 73 75 63 68 20    61 73 20 74 65 73 74 2f 69 6d 70 6c 2f 6f 74 68 | ated.files.such.as.test/impl/oth | 
| 21c80 | 65 72 20 66 69 6c 65 73 20 61 73 20 62 65 6c 6f    77 3a 0a 20 20 20 20 43 55 53 54 4f 4d 2d 46 55 | er.files.as.below:.....CUSTOM-FU | 
| 21ca0 | 4e 43 54 49 4f 4e 20 61 63 63 65 70 74 73 20 46    49 4c 45 20 61 73 20 72 65 6c 61 74 69 76 65 20 | NCTION.accepts.FILE.as.relative. | 
| 21cc0 | 70 61 74 68 20 66 72 6f 6d 20 74 68 65 20 70 72    6f 6a 65 63 74 20 72 6f 6f 74 20 61 6e 64 0a 20 | path.from.the.project.root.and.. | 
| 21ce0 | 20 20 20 72 65 74 75 72 6e 73 20 61 20 70 6c 69    73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3a 74 | ...returns.a.plist.containing.:t | 
| 21d00 | 65 73 74 2c 20 3a 69 6d 70 6c 20 6f 72 20 3a 6f    74 68 65 72 20 61 73 20 6b 65 79 20 61 6e 64 20 | est,.:impl.or.:other.as.key.and. | 
| 21d20 | 74 68 65 0a 20 20 20 20 72 65 6c 61 74 69 76 65    20 70 61 74 68 2f 70 61 74 68 73 20 6f 72 20 70 | the.....relative.path/paths.or.p | 
| 21d40 | 72 65 64 69 63 61 74 65 20 61 73 20 76 61 6c 75    65 2e 20 20 50 52 45 44 49 43 41 54 45 20 61 63 | redicate.as.value...PREDICATE.ac | 
| 21d60 | 63 65 70 74 73 20 61 0a 20 20 20 20 72 65 6c 61    74 69 76 65 20 70 61 74 68 20 61 73 20 74 68 65 | cepts.a.....relative.path.as.the | 
| 21d80 | 20 69 6e 70 75 74 2e 22 0a 20 20 28 73 65 74 71    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | .input."...(setq.projectile-proj | 
| 21da0 | 65 63 74 2d 74 79 70 65 73 0a 20 20 20 20 20 20    20 20 28 63 6f 6e 73 20 60 28 2c 70 72 6f 6a 65 | ect-types.........(cons.`(,proje | 
| 21dc0 | 63 74 2d 74 79 70 65 20 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ct-type......................... | 
| 21de0 | 20 20 20 20 20 20 20 20 2c 28 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 62 75 69 6c 64 2d 70 72 6f 6a | ........,(projectile--build-proj | 
| 21e00 | 65 63 74 2d 70 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 20 20 | ect-plist....................... | 
| 21e20 | 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72    2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 | ..........marker-files.......... | 
| 21e40 | 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- | 
| 21e60 | 66 69 6c 65 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 | file.project-file............... | 
| 21e80 | 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 61 74 69 6f 6e 2d 64 | ..................:compilation-d | 
| 21ea0 | 69 72 20 63 6f 6d 70 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 | ir.compilation-dir.............. | 
| 21ec0 | 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 67 75 72 65 20 63 6f | ...................:configure.co | 
| 21ee0 | 6e 66 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 | nfigure......................... | 
| 21f00 | 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65    20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 20 | ........:compile.compile........ | 
| 21f20 | 20 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 69 6e 73 74 61 6c | .........................:instal | 
| 21f40 | 6c 20 69 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l.install....................... | 
| 21f60 | 20 20 20 20 20 20 20 20 20 20 3a 70 61 63 6b 61    67 65 20 70 61 63 6b 61 67 65 0a 20 20 20 20 20 | ..........:package.package...... | 
| 21f80 | 20 20 20 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 | 
| 21fa0 | 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 20 20 20 20 20 20 | .test........................... | 
| 21fc0 | 20 20 20 20 20 20 3a 72 75 6e 20 72 75 6e 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......:run.run.................. | 
| 21fe0 | 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 74 65 73 74 | ...............:test-suffix.test | 
| 22000 | 2d 73 75 66 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 20 20 20 | -suffix......................... | 
| 22020 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 70 72    65 66 69 78 20 74 65 73 74 2d 70 72 65 66 69 78 | ........:test-prefix.test-prefix | 
| 22040 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 22060 | 20 3a 73 72 63 2d 64 69 72 20 73 72 63 2d 64 69    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .:src-dir.src-dir............... | 
| 22080 | 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 74 65 73 74 | ..................:test-dir.test | 
| 220a0 | 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 20 20 | -dir............................ | 
| 220c0 | 20 20 20 20 20 3a 72 65 6c 61 74 65 64 2d 66 69    6c 65 73 2d 66 6e 20 72 65 6c 61 74 65 64 2d 66 | .....:related-files-fn.related-f | 
| 220e0 | 69 6c 65 73 2d 66 6e 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 69 | iles-fn))...............projecti | 
| 22100 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 73    29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 70 | le-project-types)))..(cl-defun.p | 
| 22120 | 72 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 0a 20 20 | rojectile-update-project-type... | 
| 22140 | 20 20 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 0a    20 20 20 20 20 26 6b 65 79 20 70 72 65 63 65 64 | ..(project-type......&key.preced | 
| 22160 | 65 6e 63 65 0a 20 20 20 20 20 28 6d 61 72 6b 65    72 2d 66 69 6c 65 73 20 6e 69 6c 20 6d 61 72 6b | ence......(marker-files.nil.mark | 
| 22180 | 65 72 2d 66 69 6c 65 73 2d 73 70 65 63 69 66 69    65 64 29 0a 20 20 20 20 20 28 70 72 6f 6a 65 63 | er-files-specified)......(projec | 
| 221a0 | 74 2d 66 69 6c 65 20 6e 69 6c 20 70 72 6f 6a 65    63 74 2d 66 69 6c 65 2d 73 70 65 63 69 66 69 65 | t-file.nil.project-file-specifie | 
| 221c0 | 64 29 0a 20 20 20 20 20 28 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 64 69 72 20 6e 69 6c 20 63 6f 6d | d)......(compilation-dir.nil.com | 
| 221e0 | 70 69 6c 61 74 69 6f 6e 2d 64 69 72 2d 73 70 65    63 69 66 69 65 64 29 0a 20 20 20 20 20 28 63 6f | pilation-dir-specified)......(co | 
| 22200 | 6e 66 69 67 75 72 65 20 6e 69 6c 20 63 6f 6e 66    69 67 75 72 65 2d 73 70 65 63 69 66 69 65 64 29 | nfigure.nil.configure-specified) | 
| 22220 | 0a 20 20 20 20 20 28 63 6f 6d 70 69 6c 65 20 6e    69 6c 20 63 6f 6d 70 69 6c 65 2d 73 70 65 63 69 | ......(compile.nil.compile-speci | 
| 22240 | 66 69 65 64 29 0a 20 20 20 20 20 28 69 6e 73 74    61 6c 6c 20 6e 69 6c 20 69 6e 73 74 61 6c 6c 2d | fied)......(install.nil.install- | 
| 22260 | 73 70 65 63 69 66 69 65 64 29 0a 20 20 20 20 20    28 70 61 63 6b 61 67 65 20 6e 69 6c 20 70 61 63 | specified)......(package.nil.pac | 
| 22280 | 6b 61 67 65 2d 73 70 65 63 69 66 69 65 64 29 0a    20 20 20 20 20 28 74 65 73 74 20 6e 69 6c 20 74 | kage-specified)......(test.nil.t | 
| 222a0 | 65 73 74 2d 73 70 65 63 69 66 69 65 64 29 0a 20    20 20 20 20 28 72 75 6e 20 6e 69 6c 20 72 75 6e | est-specified)......(run.nil.run | 
| 222c0 | 2d 73 70 65 63 69 66 69 65 64 29 0a 20 20 20 20    20 28 74 65 73 74 2d 73 75 66 66 69 78 20 6e 69 | -specified)......(test-suffix.ni | 
| 222e0 | 6c 20 74 65 73 74 2d 73 75 66 66 69 78 2d 73 70    65 63 69 66 69 65 64 29 0a 20 20 20 20 20 28 74 | l.test-suffix-specified)......(t | 
| 22300 | 65 73 74 2d 70 72 65 66 69 78 20 6e 69 6c 20 74    65 73 74 2d 70 72 65 66 69 78 2d 73 70 65 63 69 | est-prefix.nil.test-prefix-speci | 
| 22320 | 66 69 65 64 29 0a 20 20 20 20 20 28 73 72 63 2d    64 69 72 20 6e 69 6c 20 73 72 63 2d 64 69 72 2d | fied)......(src-dir.nil.src-dir- | 
| 22340 | 73 70 65 63 69 66 69 65 64 29 0a 20 20 20 20 20    28 74 65 73 74 2d 64 69 72 20 6e 69 6c 20 74 65 | specified)......(test-dir.nil.te | 
| 22360 | 73 74 2d 64 69 72 2d 73 70 65 63 69 66 69 65 64    29 0a 20 20 20 20 20 28 72 65 6c 61 74 65 64 2d | st-dir-specified)......(related- | 
| 22380 | 66 69 6c 65 73 2d 66 6e 20 6e 69 6c 20 72 65 6c    61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 2d 73 70 | files-fn.nil.related-files-fn-sp | 
| 223a0 | 65 63 69 66 69 65 64 29 29 0a 20 20 20 20 22 55    70 64 61 74 65 20 61 6e 20 65 78 69 73 74 69 6e | ecified))....."Update.an.existin | 
| 223c0 | 67 20 70 72 6f 6a 65 63 74 69 6c 65 20 70 72 6f    6a 65 63 74 20 74 79 70 65 2e 0a 0a 50 61 73 73 | g.projectile.project.type...Pass | 
| 223e0 | 65 64 20 69 74 65 6d 73 20 77 69 6c 6c 20 6f 76    65 72 72 69 64 65 20 65 78 69 73 74 69 6e 67 20 | ed.items.will.override.existing. | 
| 22400 | 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 20 70    72 6f 6a 65 63 74 20 74 79 70 65 20 67 69 76 65 | values.for.the.project.type.give | 
| 22420 | 6e 0a 62 79 20 50 52 4f 4a 45 43 54 2d 54 59 50    45 2e 20 20 6e 69 6c 20 63 61 6e 20 62 65 20 75 | n.by.PROJECT-TYPE...nil.can.be.u | 
| 22440 | 73 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 61 20    70 72 6f 6a 65 63 74 20 74 79 70 65 20 61 74 74 | sed.to.remove.a.project.type.att | 
| 22460 | 72 69 62 75 74 65 2e 20 20 52 61 69 73 65 0a 61    6e 20 65 72 72 6f 72 20 69 66 20 50 52 4f 4a 45 | ribute...Raise.an.error.if.PROJE | 
| 22480 | 43 54 2d 54 59 50 45 20 69 73 20 6e 6f 74 20 61    6c 72 65 61 64 79 20 72 65 67 69 73 74 65 72 65 | CT-TYPE.is.not.already.registere | 
| 224a0 | 64 20 77 69 74 68 20 70 72 6f 6a 65 63 74 69 6c    65 2e 20 20 54 68 69 73 0a 66 75 6e 63 74 69 6f | d.with.projectile...This.functio | 
| 224c0 | 6e 20 6d 61 79 20 61 6c 73 6f 20 74 61 6b 65 20    74 68 65 20 6b 65 79 77 6f 72 64 20 61 72 67 75 | n.may.also.take.the.keyword.argu | 
| 224e0 | 6d 65 6e 74 20 50 52 45 43 45 44 45 4e 43 45 20    77 68 69 63 68 20 77 68 65 6e 20 73 65 74 20 74 | ment.PRECEDENCE.which.when.set.t | 
| 22500 | 6f 20 e2 80 98 68 69 67 68 e2 80 99 0a 77 69 6c    6c 20 6d 61 6b 65 20 70 72 6f 6a 65 63 74 69 6c | o....high....will.make.projectil | 
| 22520 | 65 20 70 72 69 6f 72 69 74 69 73 65 20 74 68 69    73 20 70 72 6f 6a 65 63 74 20 74 79 70 65 20 6f | e.prioritise.this.project.type.o | 
| 22540 | 76 65 72 20 6f 74 68 65 72 20 63 6c 61 73 68 69    6e 67 20 70 72 6f 6a 65 63 74 0a 74 79 70 65 73 | ver.other.clashing.project.types | 
| 22560 | 2c 20 61 6e 64 20 61 20 76 61 6c 75 65 20 6f 66    20 e2 80 98 6c 6f 77 e2 80 99 20 77 69 6c 6c 20 | ,.and.a.value.of....low....will. | 
| 22580 | 6d 61 6b 65 20 70 72 6f 6a 65 63 74 69 6c 65 20    70 72 65 66 65 72 20 28 61 6c 6c 29 20 6f 74 68 | make.projectile.prefer.(all).oth | 
| 225a0 | 65 72 20 70 72 6f 6a 65 63 74 0a 74 79 70 65 73    20 62 79 20 64 65 66 61 75 6c 74 2e 20 20 4f 74 | er.project.types.by.default...Ot | 
| 225c0 | 68 65 72 77 69 73 65 2c 20 74 68 65 20 61 72 67    75 6d 65 6e 74 73 20 74 6f 20 74 68 69 73 20 66 | herwise,.the.arguments.to.this.f | 
| 225e0 | 75 6e 63 74 69 6f 6e 20 61 72 65 20 61 73 20 66    6f 72 0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 | unction.are.as.for.`projectile-r | 
| 22600 | 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d    74 79 70 65 27 3a 0a 0a 41 20 70 72 6f 6a 65 63 | egister-project-type':..A.projec | 
| 22620 | 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 45 43 54 2d 54 59 50 | t.type.is.defined.by.PROJECT-TYP | 
| 22640 | 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 0a 61 6e 64 20 6f 70 | E,.a.set.of.MARKER-FILES,.and.op | 
| 22660 | 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 0a 4d 41 52 4b 45 52 | tional.keyword.arguments:.MARKER | 
| 22680 | 2d 46 49 4c 45 53 20 61 20 73 65 74 20 6f 66 20    69 6e 64 69 63 61 74 6f 72 20 66 69 6c 65 73 20 | -FILES.a.set.of.indicator.files. | 
| 226a0 | 66 6f 72 20 50 52 4f 4a 45 43 54 2d 54 59 50 45    2e 0a 50 52 4f 4a 45 43 54 2d 46 49 4c 45 20 74 | for.PROJECT-TYPE..PROJECT-FILE.t | 
| 226c0 | 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 72 6f 6f 74 | he.main.project.file.in.the.root | 
| 226e0 | 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 49 4f 4e 2d | .project.directory..COMPILATION- | 
| 22700 | 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 20 74 65 73 | DIR.the.directory.to.run.the.tes | 
| 22720 | 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 46 49 47 55 | ts-.and.compilations.in,.CONFIGU | 
| 22740 | 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 20 74 68 61 | RE.which.specifies.a.command.tha | 
| 22760 | 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 20 20 20 20 | t.configures.the.project........ | 
| 22780 | 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 62 65 20 73 | ...`%s'.in.the.command.will.be.s | 
| 227a0 | 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 70 72 6f 6a | ubstituted.with.(projectile-proj | 
| 227c0 | 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 68 65 20 63 | ect-root)...........before.the.c | 
| 227e0 | 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 20 73 70 65 | ommand.is.run,.COMPILE.which.spe | 
| 22800 | 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 20 74 68 65 | cifies.a.command.that.builds.the | 
| 22820 | 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 69 66 69 65 | .project,.INSTALL.which.specifie | 
| 22840 | 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 72 6f 6a 65 | s.a.command.to.install.the.proje | 
| 22860 | 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 61 20 63 6f | ct..PACKAGE.which.specifies.a.co | 
| 22880 | 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 2e 0a 54 45 | mmand.to.package.the.project..TE | 
| 228a0 | 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 20 74 68 61 | ST.which.specified.a.command.tha | 
| 228c0 | 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 63 68 20 73 | t.tests.the.project,.RUN.which.s | 
| 228e0 | 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 20 74 68 65 | pecifies.a.command.that.runs.the | 
| 22900 | 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 73 70 65 63 | .project,.TEST-SUFFIX.which.spec | 
| 22920 | 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 54 45 53 54 | ifies.test.file.suffix,.and.TEST | 
| 22940 | 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 20 66 69 6c | -PREFIX.which.specifies.test.fil | 
| 22960 | 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 69 66 69 65 | e.prefix..SRC-DIR.which.specifie | 
| 22980 | 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 61 74 69 76 | s.the.path.to.the.source.relativ | 
| 229a0 | 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 44 49 52 20 | e.to.the.project.root..TEST-DIR. | 
| 229c0 | 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 20 | which.specifies.the.path.to.the. | 
| 229e0 | 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 74 20 72 6f | tests.relative.to.the.project.ro | 
| 22a00 | 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 70 65 63 69 | ot..RELATED-FILES-FN.which.speci | 
| 22a20 | 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 6e 64 20 74 | fies.a.custom.function.to.find.t | 
| 22a40 | 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 74 2f 69 6d | he.related.files.such.as.test/im | 
| 22a60 | 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 20 43 55 53 | pl/other.files.as.below:.....CUS | 
| 22a80 | 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 20 72 65 6c | TOM-FUNCTION.accepts.FILE.as.rel | 
| 22aa0 | 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 72 6f 6f 74 | ative.path.from.the.project.root | 
| 22ac0 | 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 74 61 69 6e | .and.....returns.a.plist.contain | 
| 22ae0 | 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 73 20 6b 65 | ing.:test,.:impl.or.:other.as.ke | 
| 22b00 | 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 70 61 74 68 | y.and.the.....relative.path/path | 
| 22b20 | 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 45 44 49 43 | s.or.predicate.as.value...PREDIC | 
| 22b40 | 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 61 74 68 20 | ATE.accepts.a.....relative.path. | 
| 22b60 | 61 73 20 74 68 65 20 69 6e 70 75 74 2e 22 0a 20    20 20 20 28 6c 65 74 2a 20 28 28 65 78 69 73 74 | as.the.input.".....(let*.((exist | 
| 22b80 | 69 6e 67 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 28 6f | ing-project-plist.............(o | 
| 22ba0 | 72 20 28 63 6c 2d 66 69 6e 64 2d 69 66 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | r.(cl-find-if..................( | 
| 22bc0 | 6c 61 6d 62 64 61 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 | lambda.(p).(eq.project-type.(car | 
| 22be0 | 20 70 29 29 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 73 29 0a | .p))).projectile-project-types). | 
| 22c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 65 72 72 6f 72 20 22 4e 6f 20 65 78 69 73 74 | ................(error."No.exist | 
| 22c20 | 69 6e 67 20 70 72 6f 6a 65 63 74 20 66 6f 75 6e    64 20 66 6f 72 3a 20 25 73 22 20 70 72 6f 6a 65 | ing.project.found.for:.%s".proje | 
| 22c40 | 63 74 2d 74 79 70 65 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 6e 65 77 2d 70 6c 69 73 74 | ct-type)))............(new-plist | 
| 22c60 | 0a 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 20 20 20 | .............(append............ | 
| 22c80 | 20 20 28 77 68 65 6e 20 6d 61 72 6b 65 72 2d 66    69 6c 65 73 2d 73 70 65 63 69 66 69 65 64 20 60 | ..(when.marker-files-specified.` | 
| 22ca0 | 28 6d 61 72 6b 65 72 2d 66 69 6c 65 73 20 2c 6d    61 72 6b 65 72 2d 66 69 6c 65 73 29 29 0a 20 20 | (marker-files.,marker-files))... | 
| 22cc0 | 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e    20 70 72 6f 6a 65 63 74 2d 66 69 6c 65 2d 73 70 | ...........(when.project-file-sp | 
| 22ce0 | 65 63 69 66 69 65 64 20 60 28 70 72 6f 6a 65 63    74 2d 66 69 6c 65 20 2c 70 72 6f 6a 65 63 74 2d | ecified.`(project-file.,project- | 
| 22d00 | 66 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 63 6f 6d 70 69 6c | file))..............(when.compil | 
| 22d20 | 61 74 69 6f 6e 2d 64 69 72 2d 73 70 65 63 69 66    69 65 64 20 60 28 63 6f 6d 70 69 6c 61 74 69 6f | ation-dir-specified.`(compilatio | 
| 22d40 | 6e 2d 64 69 72 20 2c 63 6f 6d 70 69 6c 61 74 69    6f 6e 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 | n-dir.,compilation-dir))........ | 
| 22d60 | 20 20 20 20 20 20 28 77 68 65 6e 20 63 6f 6e 66    69 67 75 72 65 2d 73 70 65 63 69 66 69 65 64 20 | ......(when.configure-specified. | 
| 22d80 | 60 28 63 6f 6e 66 69 67 75 72 65 2d 63 6f 6d 6d    61 6e 64 20 2c 63 6f 6e 66 69 67 75 72 65 29 29 | `(configure-command.,configure)) | 
| 22da0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77    68 65 6e 20 63 6f 6d 70 69 6c 65 2d 73 70 65 63 | ..............(when.compile-spec | 
| 22dc0 | 69 66 69 65 64 20 60 28 63 6f 6d 70 69 6c 65 2d    63 6f 6d 6d 61 6e 64 20 2c 63 6f 6d 70 69 6c 65 | ified.`(compile-command.,compile | 
| 22de0 | 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 73 70 65 63 69 | ))..............(when.test-speci | 
| 22e00 | 66 69 65 64 20 60 28 74 65 73 74 2d 63 6f 6d 6d    61 6e 64 20 2c 74 65 73 74 29 29 0a 20 20 20 20 | fied.`(test-command.,test))..... | 
| 22e20 | 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 69    6e 73 74 61 6c 6c 2d 73 70 65 63 69 66 69 65 64 | .........(when.install-specified | 
| 22e40 | 20 60 28 69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61    6e 64 20 2c 69 6e 73 74 61 6c 6c 29 29 0a 20 20 | .`(install-command.,install))... | 
| 22e60 | 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e    20 70 61 63 6b 61 67 65 2d 73 70 65 63 69 66 69 | ...........(when.package-specifi | 
| 22e80 | 65 64 20 60 28 70 61 63 6b 61 67 65 2d 63 6f 6d    6d 61 6e 64 20 2c 70 61 63 6b 61 67 65 29 29 0a | ed.`(package-command.,package)). | 
| 22ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68    65 6e 20 72 75 6e 2d 73 70 65 63 69 66 69 65 64 | .............(when.run-specified | 
| 22ec0 | 20 60 28 72 75 6e 2d 63 6f 6d 6d 61 6e 64 20 2c    72 75 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .`(run-command.,run))........... | 
| 22ee0 | 20 20 20 28 77 68 65 6e 20 74 65 73 74 2d 73 75    66 66 69 78 2d 73 70 65 63 69 66 69 65 64 20 60 | ...(when.test-suffix-specified.` | 
| 22f00 | 28 74 65 73 74 2d 73 75 66 66 69 78 20 2c 74 65    73 74 2d 73 75 66 66 69 78 29 29 0a 20 20 20 20 | (test-suffix.,test-suffix))..... | 
| 22f20 | 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 74    65 73 74 2d 70 72 65 66 69 78 2d 73 70 65 63 69 | .........(when.test-prefix-speci | 
| 22f40 | 66 69 65 64 20 60 28 74 65 73 74 2d 70 72 65 66    69 78 20 2c 74 65 73 74 2d 70 72 65 66 69 78 29 | fied.`(test-prefix.,test-prefix) | 
| 22f60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    77 68 65 6e 20 73 72 63 2d 64 69 72 2d 73 70 65 | )..............(when.src-dir-spe | 
| 22f80 | 63 69 66 69 65 64 20 60 28 73 72 63 2d 64 69 72    20 2c 73 72 63 2d 64 69 72 29 29 0a 20 20 20 20 | cified.`(src-dir.,src-dir))..... | 
| 22fa0 | 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 74    65 73 74 2d 64 69 72 2d 73 70 65 63 69 66 69 65 | .........(when.test-dir-specifie | 
| 22fc0 | 64 20 60 28 74 65 73 74 2d 64 69 72 20 2c 74 65    73 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 | d.`(test-dir.,test-dir))........ | 
| 22fe0 | 20 20 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 2d 73 70 65 | ......(when.related-files-fn-spe | 
| 23000 | 63 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 60 28 72 65 6c 61 74 65 64 2d | cified................`(related- | 
| 23020 | 66 69 6c 65 73 2d 66 6e 20 2c 72 65 6c 61 74 65    64 2d 66 69 6c 65 73 2d 66 6e 29 29 29 29 0a 20 | files-fn.,related-files-fn)))).. | 
| 23040 | 20 20 20 20 20 20 20 20 20 20 28 6d 65 72 67 65    64 2d 70 6c 69 73 74 0a 20 20 20 20 20 20 20 20 | ..........(merged-plist......... | 
| 23060 | 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 63 6f 6d 62 69 6e 65 2d 70 6c 69 73 74 73 0a | ....(projectile--combine-plists. | 
| 23080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64    72 20 65 78 69 73 74 69 6e 67 2d 70 72 6f 6a 65 | .............(cdr.existing-proje | 
| 230a0 | 63 74 2d 70 6c 69 73 74 29 20 6e 65 77 2d 70 6c    69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ct-plist).new-plist))........... | 
| 230c0 | 20 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 2d 65    6c 74 20 28 63 6f 6e 73 20 70 72 6f 6a 65 63 74 | .(project-type-elt.(cons.project | 
| 230e0 | 2d 74 79 70 65 20 6d 65 72 67 65 64 2d 70 6c 69    73 74 29 29 29 0a 20 20 20 20 20 20 28 63 6c 2d | -type.merged-plist))).......(cl- | 
| 23100 | 66 6c 65 74 2a 20 28 28 70 72 6f 6a 65 63 74 2d    66 69 6c 74 65 72 20 28 70 29 20 28 65 71 20 70 | flet*.((project-filter.(p).(eq.p | 
| 23120 | 72 6f 6a 65 63 74 2d 74 79 70 65 20 28 63 61 72    20 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | roject-type.(car.p)))........... | 
| 23140 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 2d    6d 61 70 20 28 70 29 20 28 69 66 20 28 70 72 6f | .......(project-map.(p).(if.(pro | 
| 23160 | 6a 65 63 74 2d 66 69 6c 74 65 72 20 70 29 20 70    72 6f 6a 65 63 74 2d 74 79 70 65 2d 65 6c 74 20 | ject-filter.p).project-type-elt. | 
| 23180 | 70 29 29 29 0a 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 70 72 | p))).........(setq.projectile-pr | 
| 231a0 | 6f 6a 65 63 74 2d 74 79 70 65 73 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 72 | oject-types...............(if.pr | 
| 231c0 | 65 63 65 64 65 6e 63 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 | ecedence...................(let. | 
| 231e0 | 28 28 66 69 6c 74 65 72 65 64 2d 74 79 70 65 73    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ((filtered-types................ | 
| 23200 | 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 6d 6f    76 65 2d 69 66 20 23 27 70 72 6f 6a 65 63 74 2d | ........(cl-remove-if.#'project- | 
| 23220 | 66 69 6c 74 65 72 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 | filter.projectile-project-types) | 
| 23240 | 29 29 0a 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 70 72 6f | )).....................(setq.pro | 
| 23260 | 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 6b 65 | jectile-project-type-cache.(make | 
| 23280 | 2d 68 61 73 68 2d 74 61 62 6c 65 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -hash-table))................... | 
| 232a0 | 20 20 28 63 6f 6e 64 20 28 28 65 71 20 70 72 65    63 65 64 65 6e 63 65 20 27 68 69 67 68 29 0a 20 | ..(cond.((eq.precedence.'high).. | 
| 232c0 | 20 20 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 73 20 | ..........................(cons. | 
| 232e0 | 70 72 6f 6a 65 63 74 2d 74 79 70 65 2d 65 6c 74    20 66 69 6c 74 65 72 65 64 2d 74 79 70 65 73 29 | project-type-elt.filtered-types) | 
| 23300 | 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 28 65 71 | )...........................((eq | 
| 23320 | 20 70 72 65 63 65 64 65 6e 63 65 20 27 6c 6f 77    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .precedence.'low)............... | 
| 23340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70    70 65 6e 64 20 66 69 6c 74 65 72 65 64 2d 74 79 | .............(append.filtered-ty | 
| 23360 | 70 65 73 20 28 6c 69 73 74 20 70 72 6f 6a 65 63    74 2d 74 79 70 65 2d 65 6c 74 29 29 29 0a 20 20 | pes.(list.project-type-elt)))... | 
| 23380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f | ........................(t.(erro | 
| 233a0 | 72 20 22 50 72 65 63 65 64 65 6e 63 65 20 6d 75    73 74 20 62 65 20 6f 6e 65 20 6f 66 20 27 28 68 | r."Precedence.must.be.one.of.'(h | 
| 233c0 | 69 67 68 20 6c 6f 77 29 22 29 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d | igh.low)")))).................(m | 
| 233e0 | 61 70 63 61 72 20 23 27 70 72 6f 6a 65 63 74 2d    6d 61 70 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | apcar.#'project-map.projectile-p | 
| 23400 | 72 6f 6a 65 63 74 2d 74 79 70 65 73 29 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | roject-types))))))..(defun.proje | 
| 23420 | 63 74 69 6c 65 2d 65 6c 64 65 76 2d 70 72 6f 6a    65 63 74 2d 70 20 28 26 6f 70 74 69 6f 6e 61 6c | ctile-eldev-project-p.(&optional | 
| 23440 | 20 64 69 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 | .dir)..."Check.if.a.project.cont | 
| 23460 | 61 69 6e 73 20 65 6c 64 65 76 20 66 69 6c 65 73    2e 0a 57 68 65 6e 20 44 49 52 20 69 73 20 73 70 | ains.eldev.files..When.DIR.is.sp | 
| 23480 | 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 65 63 74 2c | ecified.it.checks.DIR's.project, | 
| 234a0 | 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 72 72 65 6e | .otherwise.it.acts.on.the.curren | 
| 234c0 | 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 69 6c 65 2d 76 65 | t.project."...(or.(projectile-ve | 
| 234e0 | 72 69 66 79 2d 66 69 6c 65 20 22 45 6c 64 65 76    22 20 64 69 72 29 0a 20 20 20 20 20 20 28 70 72 | rify-file."Eldev".dir).......(pr | 
| 23500 | 6f 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 2d 6c 6f 63 61 | ojectile-verify-file."Eldev-loca | 
| 23520 | 6c 22 20 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 65 78 70 | l".dir)))..(defun.projectile-exp | 
| 23540 | 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 2d 77 69    6c 64 63 61 72 64 20 28 6e 61 6d 65 2d 70 61 74 | and-file-name-wildcard.(name-pat | 
| 23560 | 74 65 72 6e 20 64 69 72 29 0a 20 20 22 45 78 70    61 6e 64 20 74 68 65 20 6d 61 79 62 65 2d 77 69 | tern.dir)..."Expand.the.maybe-wi | 
| 23580 | 6c 64 63 61 72 64 2d 63 6f 6e 74 61 69 6e 69 6e    67 20 4e 41 4d 45 2d 50 41 54 54 45 52 4e 20 69 | ldcard-containing.NAME-PATTERN.i | 
| 235a0 | 6e 20 44 49 52 2e 0a 49 66 20 74 68 65 72 65 20    61 72 65 20 72 65 73 75 6c 74 73 20 65 78 70 61 | n.DIR..If.there.are.results.expa | 
| 235c0 | 6e 64 69 6e 67 20 61 20 77 69 6c 64 63 61 72 64    2c 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 | nding.a.wildcard,.get.the.first. | 
| 235e0 | 72 65 73 75 6c 74 2c 0a 6f 74 68 65 72 77 69 73    65 20 65 78 70 61 6e 64 20 4e 41 4d 45 2d 50 41 | result,.otherwise.expand.NAME-PA | 
| 23600 | 54 54 45 52 4e 20 69 6e 20 44 49 52 20 69 67 6e    6f 72 69 6e 67 20 77 69 6c 64 63 61 72 64 73 2e | TTERN.in.DIR.ignoring.wildcards. | 
| 23620 | 22 0a 20 20 28 6c 65 74 20 28 28 65 78 70 61 6e    64 65 64 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 | "...(let.((expanded.(expand-file | 
| 23640 | 2d 6e 61 6d 65 20 6e 61 6d 65 2d 70 61 74 74 65    72 6e 20 64 69 72 29 29 29 0a 20 20 20 20 28 6f | -name.name-pattern.dir))).....(o | 
| 23660 | 72 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61    74 63 68 2d 70 20 22 5b 5b 2a 3f 5d 22 20 6e 61 | r.(if.(string-match-p."[[*?]".na | 
| 23680 | 6d 65 2d 70 61 74 74 65 72 6e 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 63 61 72 0a 20 20 20 | me-pattern).............(car.... | 
| 236a0 | 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d    65 78 70 61 6e 64 2d 77 69 6c 64 63 61 72 64 73 | ..........(file-expand-wildcards | 
| 236c0 | 20 65 78 70 61 6e 64 65 64 29 29 29 0a 20 20 20    20 20 20 20 20 65 78 70 61 6e 64 65 64 29 29 29 | .expanded))).........expanded))) | 
| 236e0 | 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 63 61 62 61 6c 2d 70 72 6f 6a 65 63 | ..(defun.projectile-cabal-projec | 
| 23700 | 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. | 
| 23720 | 61 20 70 72 6f 6a 65 63 74 20 63 6f 6e 74 61 69    6e 73 20 2a 2e 63 61 62 61 6c 20 66 69 6c 65 73 | a.project.contains.*.cabal.files | 
| 23740 | 20 62 75 74 20 6e 6f 20 73 74 61 63 6b 2e 79 61    6d 6c 20 66 69 6c 65 2e 0a 57 68 65 6e 20 44 49 | .but.no.stack.yaml.file..When.DI | 
| 23760 | 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 73 20 70 | R.is.specified.it.checks.DIR's.p | 
| 23780 | 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 74 68 65 | roject,.otherwise.it.acts.on.the | 
| 237a0 | 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74    2e 22 0a 20 20 28 61 6e 64 20 28 70 72 6f 6a 65 | .current.project."...(and.(proje | 
| 237c0 | 63 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 63 | ctile-verify-file-wildcard."?*.c | 
| 237e0 | 61 62 61 6c 22 20 64 69 72 29 0a 20 20 20 20 20    20 20 28 6e 6f 74 20 28 70 72 6f 6a 65 63 74 69 | abal".dir)........(not.(projecti | 
| 23800 | 6c 65 2d 76 65 72 69 66 79 2d 66 69 6c 65 20 22    73 74 61 63 6b 2e 79 61 6d 6c 22 20 64 69 72 29 | le-verify-file."stack.yaml".dir) | 
| 23820 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 64 6f 74 6e 65 74 2d 70 72 | )))..(defun.projectile-dotnet-pr | 
| 23840 | 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 22 43 68 65 63 6b | oject-p.(&optional.dir)..."Check | 
| 23860 | 20 69 66 20 61 20 70 72 6f 6a 65 63 74 20 63 6f    6e 74 61 69 6e 73 20 61 20 2e 4e 45 54 20 70 72 | .if.a.project.contains.a..NET.pr | 
| 23880 | 6f 6a 65 63 74 20 6d 61 72 6b 65 72 2e 0a 57 68    65 6e 20 44 49 52 20 69 73 20 73 70 65 63 69 66 | oject.marker..When.DIR.is.specif | 
| 238a0 | 69 65 64 20 69 74 20 63 68 65 63 6b 73 20 44 49    52 27 73 20 70 72 6f 6a 65 63 74 2c 20 6f 74 68 | ied.it.checks.DIR's.project,.oth | 
| 238c0 | 65 72 77 69 73 65 0a 69 74 20 61 63 74 73 20 6f    6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 | erwise.it.acts.on.the.current.pr | 
| 238e0 | 6f 6a 65 63 74 2e 22 0a 20 20 28 6f 72 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 69 66 79 | oject."...(or.(projectile-verify | 
| 23900 | 2d 66 69 6c 65 2d 77 69 6c 64 63 61 72 64 20 22    3f 2a 2e 63 73 70 72 6f 6a 22 20 64 69 72 29 0a | -file-wildcard."?*.csproj".dir). | 
| 23920 | 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 2d 77 69 | ......(projectile-verify-file-wi | 
| 23940 | 6c 64 63 61 72 64 20 22 3f 2a 2e 66 73 70 72 6f    6a 22 20 64 69 72 29 29 29 0a 0a 28 64 65 66 75 | ldcard."?*.fsproj".dir)))..(defu | 
| 23960 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 6f 74    6e 65 74 2d 73 6c 6e 2d 70 72 6f 6a 65 63 74 2d | n.projectile-dotnet-sln-project- | 
| 23980 | 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 61 20 | p.(&optional.dir)..."Check.if.a. | 
| 239a0 | 70 72 6f 6a 65 63 74 20 63 6f 6e 74 61 69 6e 73    20 61 20 2e 4e 45 54 20 73 6f 6c 75 74 69 6f 6e | project.contains.a..NET.solution | 
| 239c0 | 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 20 69 73 20 73 70 65 | .project.marker..When.DIR.is.spe | 
| 239e0 | 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 65 63 74 2c 20 | cified.it.checks.DIR's.project,. | 
| 23a00 | 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 72 72 65 6e 74 | otherwise.it.acts.on.the.current | 
| 23a20 | 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 69 6c 65 2d 76 65 72 | .project."...(or.(projectile-ver | 
| 23a40 | 69 66 79 2d 66 69 6c 65 2d 77 69 6c 64 63 61 72    64 20 22 3f 2a 2e 73 6c 6e 22 20 64 69 72 29 29 | ify-file-wildcard."?*.sln".dir)) | 
| 23a60 | 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 74 2d | )..(defun.projectile-go-project- | 
| 23a80 | 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 61 20 | p.(&optional.dir)..."Check.if.a. | 
| 23aa0 | 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 65 73 | project.contains.Go.source.files | 
| 23ac0 | 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 | 
| 23ae0 | 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 | 
| 23b00 | 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 6f | ts.on.the.current.project."...(o | 
| 23b20 | 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 6d 6f | r.(projectile-verify-file."go.mo | 
| 23b40 | 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 66 79 | d".dir).......(projectile-verify | 
| 23b60 | 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 28 64 | -file-wildcard."*.go".dir)))..(d | 
| 23b80 | 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 2d 74 | efcustom.projectile-go-project-t | 
| 23ba0 | 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 72 6f | est-function.#'projectile-go-pro | 
| 23bc0 | 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 65 20 | ject-p..."Function.to.determine. | 
| 23be0 | 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 72 6f | if.project's.type.is.go."...:gro | 
| 23c00 | 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 | 
| 23c20 | 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 65 | ...:package-version.'(projectile | 
| 23c40 | 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 65 2d | ..."1.0.0"))..(defun.projectile- | 
| 23c60 | 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 72 29 | nimble-project-p.(&optional.dir) | 
| 23c80 | 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 20 | ..."Check.if.a.project.contains. | 
| 23ca0 | 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 72 6f | a.Nimble.project.marker..Nim.pro | 
| 23cc0 | 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 61 20 | jects.that.use.Nimble.contain.a. | 
| 23ce0 | 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 6e 20 | <projectname>.nimble.file..When. | 
| 23d00 | 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 73 | DIR.is.specified.it.checks.DIR's | 
| 23d20 | 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 74 | .project,.otherwise.it.acts.on.t | 
| 23d40 | 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 74 69 | he.current.project."...(projecti | 
| 23d60 | 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 6d 62 | le-verify-file-wildcard."?*.nimb | 
| 23d80 | 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 66 79 | le".dir))..;;;;.Constant.signify | 
| 23da0 | 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 20 63 | ing.opting.out.of.CMake.preset.c | 
| 23dc0 | 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 2d 63 | ommands..(defconst.projectile--c | 
| 23de0 | 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 0a 28 | make-no-preset."*no.preset*")..( | 
| 23e00 | 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 6e 20 | defun.projectile--cmake-version. | 
| 23e20 | 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 20 20 | ()..."Compute.CMake.version."... | 
| 23e40 | 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 74 6f | (let*.((string.(shell-command-to | 
| 23e60 | 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 20 20 | -string."cmake.--version"))..... | 
| 23e80 | 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 61 6b | .....(match.(string-match."^cmak | 
| 23ea0 | 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 0a 20 | e.version.\\(.*\\)$".string))).. | 
| 23ec0 | 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 74 6f | ...(when.match.......(version-to | 
| 23ee0 | 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 29 29 | -list.(match-string.1.string)))) | 
| 23f00 | 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 65 63 | )..(defun.projectile--cmake-chec | 
| 23f20 | 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 66 20 | k-version.(version)..."Check.if. | 
| 23f40 | 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 49 4f | CMake.version.is.at.least.VERSIO | 
| 23f60 | 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 20 76 | N."...(and....(version-list-<=.v | 
| 23f80 | 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 69 6f | ersion.(projectile--cmake-versio | 
| 23fa0 | 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 6d 61 | n))))..(defconst.projectile--cma | 
| 23fc0 | 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 73 69 | ke-command-presets-minimum-versi | 
| 23fe0 | 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 6e 64 | on-alist...'((:configure-command | 
| 24000 | 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 6e 64 | ...(3.19)).....(:compile-command | 
| 24020 | 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 2e 20 | ...(3.20)).....(:test-command... | 
| 24040 | 28 33 20 32 30 29 29 0a 20 20 20 20 28 3a 70 61    63 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20 2e 20 | (3.20)).....(:package-command... | 
| 24060 | 28 33 20 31 39 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 2e 20 | (3.19)).....(:install-command... | 
| 24080 | 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 63 6d | (3.20))))..(defun.projectile--cm | 
| 240a0 | 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 28 63 | ake-command-presets-supported.(c | 
| 240c0 | 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 20 73 | ommand-type)..."Check.if.CMake.s | 
| 240e0 | 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 50 45 | upports.presets.for.COMMAND-TYPE | 
| 24100 | 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 20 20 | ."...(let.((minimum-version..... | 
| 24120 | 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 70 72 | .....(cdr.(assoc.command-type.pr | 
| 24140 | 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 73 2d | ojectile--cmake-command-presets- | 
| 24160 | 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 28 70 | minimum-version-alist)))).....(p | 
| 24180 | 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 20 6d | rojectile--cmake-check-version.m | 
| 241a0 | 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 65 63 | inimum-version)))..(defun.projec | 
| 241c0 | 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 61 6d | tile--cmake-read-preset.(filenam | 
| 241e0 | 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 49 4c | e)..."Read.CMake.preset.from.FIL | 
| 24200 | 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 20 66 | ENAME."...(when.(file-exists-p.f | 
| 24220 | 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 0a 20 | ilename).....(with-temp-buffer.. | 
| 24240 | 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 65 6e | .....(insert-file-contents.filen | 
| 24260 | 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 73 6f | ame).......(when.(functionp.'jso | 
| 24280 | 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 70 61 | n-parse-buffer).........(json-pa | 
| 242a0 | 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 29 29 | rse-buffer.:array-type.'list)))) | 
| 242c0 | 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 2d 63 | )..(defconst.projectile--cmake-c | 
| 242e0 | 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 20 27 | ommand-preset-array-id-alist...' | 
| 24300 | 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 75 72 | ((:configure-command..."configur | 
| 24320 | 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 6e 64 | ePresets").....(:compile-command | 
| 24340 | 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 63 6f | ..."buildPresets").....(:test-co | 
| 24360 | 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 70 61 63 | mmand..."testPresets").....(:pac | 
| 24380 | 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20 2e 20 22    70 61 63 6b 61 67 65 50 72 65 73 65 74 73 22 29 | kage-command..."packagePresets") | 
| 243a0 | 0a 20 20 20 20 28 3a 69 6e 73 74 61 6c 6c 2d 63    6f 6d 6d 61 6e 64 20 2e 20 22 62 75 69 6c 64 50 | .....(:install-command..."buildP | 
| 243c0 | 72 65 73 65 74 73 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 63 | resets")))..(defun.projectile--c | 
| 243e0 | 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65    73 65 74 2d 61 72 72 61 79 2d 69 64 20 28 63 6f | make-command-preset-array-id.(co | 
| 24400 | 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20 20 22 4d    61 70 20 66 72 6f 6d 20 43 4f 4d 4d 41 4e 44 2d | mmand-type)..."Map.from.COMMAND- | 
| 24420 | 54 59 50 45 20 74 6f 20 69 64 20 6f 66 20 63 6f    6d 6d 61 6e 64 20 70 72 65 73 65 74 20 61 72 72 | TYPE.to.id.of.command.preset.arr | 
| 24440 | 61 79 20 69 6e 20 43 4d 61 6b 65 20 70 72 65 73    65 74 2e 22 0a 20 20 28 63 64 72 20 28 61 73 73 | ay.in.CMake.preset."...(cdr.(ass | 
| 24460 | 6f 63 20 63 6f 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 | oc.command-type.projectile--cmak | 
| 24480 | 65 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 29 | e-command-preset-array-id-alist) | 
| 244a0 | 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 | 
| 244c0 | 6d 61 6e 64 2d 70 72 65 73 65 74 73 2d 73 68 61    6c 6c 6f 77 20 28 66 69 6c 65 6e 61 6d 65 20 63 | mand-presets-shallow.(filename.c | 
| 244e0 | 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 4d 4d 41 4e | ommand-type)..."Get.CMake.COMMAN | 
| 24500 | 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 2e 22 0a 20 | D-TYPE.presets.from.FILENAME.".. | 
| 24520 | 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 70 72    65 73 65 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 | .(when-let*.((preset.(projectile | 
| 24540 | 2d 2d 63 6d 61 6b 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 | --cmake-read-preset.(projectile- | 
| 24560 | 65 78 70 61 6e 64 2d 72 6f 6f 74 20 66 69 6c 65    6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 63 6c | expand-root.filename)))).....(cl | 
| 24580 | 2d 72 65 6d 6f 76 65 2d 69 66 0a 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 70 72 65 73 65 74 29 | -remove-if......(lambda.(preset) | 
| 245a0 | 20 28 65 71 75 61 6c 20 28 67 65 74 68 61 73 68    20 22 68 69 64 64 65 6e 22 20 70 72 65 73 65 74 | .(equal.(gethash."hidden".preset | 
| 245c0 | 29 20 74 29 29 0a 20 20 20 20 20 28 67 65 74 68    61 73 68 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ).t))......(gethash.(projectile- | 
| 245e0 | 2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70    72 65 73 65 74 2d 61 72 72 61 79 2d 69 64 20 63 | -cmake-command-preset-array-id.c | 
| 24600 | 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 20 70 72 65    73 65 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ommand-type).preset))))..(defun. | 
| 24620 | 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 | 
| 24640 | 73 20 28 66 69 6c 65 6e 61 6d 65 20 63 6f 6d 6d    61 6e 64 2d 74 79 70 65 29 0a 20 20 22 47 65 74 | s.(filename.command-type)..."Get | 
| 24660 | 20 43 4d 61 6b 65 20 43 4f 4d 4d 41 4e 44 2d 54    59 50 45 20 70 72 65 73 65 74 73 20 66 72 6f 6d | .CMake.COMMAND-TYPE.presets.from | 
| 24680 | 20 46 49 4c 45 4e 41 4d 45 2e 20 20 46 6f 6c 6c    6f 77 73 20 69 6e 63 6c 75 64 65 64 20 66 69 6c | .FILENAME...Follows.included.fil | 
| 246a0 | 65 73 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74    2a 20 28 28 70 72 65 73 65 74 20 28 70 72 6f 6a | es."...(when-let*.((preset.(proj | 
| 246c0 | 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 70 72 6f 6a 65 | ectile--cmake-read-preset.(proje | 
| 246e0 | 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f 6f    74 20 66 69 6c 65 6e 61 6d 65 29 29 29 29 0a 20 | ctile-expand-root.filename)))).. | 
| 24700 | 20 20 20 28 61 70 70 65 6e 64 0a 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 | ...(append......(projectile--cma | 
| 24720 | 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65    74 73 2d 73 68 61 6c 6c 6f 77 20 66 69 6c 65 6e | ke-command-presets-shallow.filen | 
| 24740 | 61 6d 65 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65    29 0a 20 20 20 20 20 28 6d 61 70 63 61 72 0a 20 | ame.command-type)......(mapcar.. | 
| 24760 | 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 6e    63 6c 75 64 65 64 2d 66 69 6c 65 29 20 28 70 72 | .....(lambda.(included-file).(pr | 
| 24780 | 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 73 0a | ojectile--cmake-command-presets. | 
| 247a0 | 20 20 20 20 20 20 20 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 | ...............................( | 
| 247c0 | 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65    20 69 6e 63 6c 75 64 65 64 2d 66 69 6c 65 20 28 | expand-file-name.included-file.( | 
| 247e0 | 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74    6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 | file-name-directory.filename)).. | 
| 24800 | 20 20 20 20 20 20 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 | ..............................co | 
| 24820 | 6d 6d 61 6e 64 2d 74 79 70 65 29 29 0a 20 20 20    20 20 20 28 67 65 74 68 61 73 68 20 22 69 6e 63 | mmand-type)).......(gethash."inc | 
| 24840 | 6c 75 64 65 22 20 70 72 65 73 65 74 29 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | lude".preset)))))..(defun.projec | 
| 24860 | 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 61 6c 6c 2d    63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65 74 73 20 | tile--cmake-all-command-presets. | 
| 24880 | 28 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 75 73 65 72 | (command-type)..."Get.CMake.user | 
| 248a0 | 20 61 6e 64 20 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 | .and.system.COMMAND-TYPE.presets | 
| 248c0 | 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 20 20 20 28 6d 61 70 | ."...(projectile-flatten....(map | 
| 248e0 | 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 69 6c    65 6e 61 6d 65 29 20 28 70 72 6f 6a 65 63 74 69 | car.(lambda.(filename).(projecti | 
| 24900 | 6c 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 66 69 6c 65 6e 61 | le--cmake-command-presets.filena | 
| 24920 | 6d 65 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 27 28 22 | me.command-type))............'(" | 
| 24940 | 43 4d 61 6b 65 55 73 65 72 50 72 65 73 65 74 73    2e 6a 73 6f 6e 22 20 22 43 4d 61 6b 65 50 72 65 | CMakeUserPresets.json"."CMakePre | 
| 24960 | 73 65 74 73 2e 6a 73 6f 6e 22 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | sets.json"))))..(defun.projectil | 
| 24980 | 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64    2d 70 72 65 73 65 74 2d 6e 61 6d 65 73 20 28 63 | e--cmake-command-preset-names.(c | 
| 249a0 | 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20 20 22    47 65 74 20 6e 61 6d 65 73 20 6f 66 20 43 4d 61 | ommand-type)..."Get.names.of.CMa | 
| 249c0 | 6b 65 20 75 73 65 72 20 61 6e 64 20 73 79 73 74    65 6d 20 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 | ke.user.and.system.COMMAND-TYPE. | 
| 249e0 | 70 72 65 73 65 74 73 2e 22 0a 20 20 28 6d 61 70    63 61 72 20 28 6c 61 6d 62 64 61 20 28 70 72 65 | presets."...(mapcar.(lambda.(pre | 
| 24a00 | 73 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 67 65 74 68 61 73 68 20 22 6e 61 6d 65 22 | set).............(gethash."name" | 
| 24a20 | 20 70 72 65 73 65 74 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | .preset))...........(projectile- | 
| 24a40 | 2d 63 6d 61 6b 65 2d 61 6c 6c 2d 63 6f 6d 6d 61    6e 64 2d 70 72 65 73 65 74 73 20 63 6f 6d 6d 61 | -cmake-all-command-presets.comma | 
| 24a60 | 6e 64 2d 74 79 70 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 | nd-type)))..(defcustom.projectil | 
| 24a80 | 65 2d 65 6e 61 62 6c 65 2d 63 6d 61 6b 65 2d 70    72 65 73 65 74 73 20 6e 69 6c 0a 20 20 22 45 6e | e-enable-cmake-presets.nil..."En | 
| 24aa0 | 61 62 6c 65 73 20 63 6f 6e 66 69 67 75 72 61 74    69 6f 6e 20 77 69 74 68 20 43 4d 61 6b 65 20 70 | ables.configuration.with.CMake.p | 
| 24ac0 | 72 65 73 65 74 73 2e 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 | resets...When.`projectile-enable | 
| 24ae0 | 2d 63 6d 61 6b 65 2d 70 72 65 73 65 74 73 27 20    69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 43 4d 61 6b | -cmake-presets'.is.non-nil,.CMak | 
| 24b00 | 65 20 70 72 6f 6a 65 63 74 73 20 63 61 6e 0a 62    65 20 63 6f 6e 66 69 67 75 72 65 64 2c 20 62 75 | e.projects.can.be.configured,.bu | 
| 24b20 | 69 6c 74 20 61 6e 64 20 74 65 73 74 65 64 20 75    73 69 6e 67 20 70 72 65 73 65 74 73 2e 22 0a 20 | ilt.and.tested.using.presets.".. | 
| 24b40 | 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 | 
| 24b60 | 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 | 
| 24b80 | 74 69 6c 65 20 2e 20 22 32 2e 34 2e 30 22 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | tile..."2.4.0"))..(defun.project | 
| 24ba0 | 69 6c 65 2d 2d 63 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 28 | ile--cmake-use-command-presets.( | 
| 24bc0 | 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20 20    22 54 65 73 74 20 77 68 65 74 68 65 72 20 6f 72 | command-type)..."Test.whether.or | 
| 24be0 | 20 6e 6f 74 20 74 6f 20 75 73 65 20 63 6f 6d 6d    61 6e 64 20 70 72 65 73 65 74 73 20 66 6f 72 20 | .not.to.use.command.presets.for. | 
| 24c00 | 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 2e 0a 0a 50    72 65 73 65 74 73 20 61 72 65 20 75 73 65 64 20 | COMMAND-TYPE...Presets.are.used. | 
| 24c20 | 69 66 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 | if.`projectile-enable-cmake-pres | 
| 24c40 | 65 74 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c    20 61 6e 64 20 43 4d 61 6b 65 0a 73 75 70 70 6f | ets'.is.non-nil,.and.CMake.suppo | 
| 24c60 | 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 50 45 2c 20 61 6e | rts.presets.for.COMMAND-TYPE,.an | 
| 24c80 | 64 20 60 6a 73 6f 6e 2d 70 61 72 73 65 2d 62 75    66 66 65 72 27 20 69 73 20 61 76 61 69 6c 61 62 | d.`json-parse-buffer'.is.availab | 
| 24ca0 | 6c 65 2e 22 0a 20 20 28 61 6e 64 20 70 72 6f 6a    65 63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d 63 6d | le."...(and.projectile-enable-cm | 
| 24cc0 | 61 6b 65 2d 70 72 65 73 65 74 73 0a 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | ake-presets........(projectile-- | 
| 24ce0 | 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. | 
| 24d00 | 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20 20    20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20 | command-type)........(functionp. | 
| 24d20 | 27 6a 73 6f 6e 2d 70 61 72 73 65 2d 62 75 66 66    65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | 'json-parse-buffer)))..(defun.pr | 
| 24d40 | 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 20 28 | ojectile--cmake-select-command.( | 
| 24d60 | 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20 20    22 53 65 6c 65 63 74 20 61 20 43 4d 61 6b 65 20 | command-type)..."Select.a.CMake. | 
| 24d80 | 63 6f 6d 6d 61 6e 64 20 70 72 65 73 65 74 20 6f    72 20 61 20 6d 61 6e 75 61 6c 20 43 4d 61 6b 65 | command.preset.or.a.manual.CMake | 
| 24da0 | 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 54 68 65 20 73    65 6c 65 63 74 69 6f 6e 20 69 73 20 64 6f 6e 65 | .command...The.selection.is.done | 
| 24dc0 | 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 2d 20 49    66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 | .like.this:..-.If.`projectile--c | 
| 24de0 | 6d 61 6b 65 2d 75 73 65 2d 63 6f 6d 6d 61 6e 64    73 2d 70 72 65 73 65 74 73 27 20 66 6f 72 20 43 | make-use-commands-presets'.for.C | 
| 24e00 | 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 72 65 74 75    72 6e 73 20 74 72 75 65 2c 20 61 6e 64 0a 74 68 | OMMAND-TYPE.returns.true,.and.th | 
| 24e20 | 65 72 65 20 69 73 20 61 74 20 6c 65 61 73 74 20    6f 6e 65 20 70 72 65 73 65 74 20 61 76 61 69 6c | ere.is.at.least.one.preset.avail | 
| 24e40 | 61 62 6c 65 20 66 6f 72 20 43 4f 4d 4d 41 4e 44    2d 54 59 50 45 2c 20 74 68 65 20 75 73 65 72 20 | able.for.COMMAND-TYPE,.the.user. | 
| 24e60 | 69 73 20 70 72 6f 6d 70 74 65 64 20 74 6f 0a 73    65 6c 65 63 74 20 61 20 6e 61 6d 65 20 6f 66 20 | is.prompted.to.select.a.name.of. | 
| 24e80 | 61 20 63 6f 6d 6d 61 6e 64 20 70 72 65 73 65 74    2c 20 6f 72 20 6f 70 74 20 61 20 6d 61 6e 75 61 | a.command.preset,.or.opt.a.manua | 
| 24ea0 | 6c 20 63 6f 6d 6d 61 6e 64 20 62 79 20 73 65 6c    65 63 74 69 6e 67 0a 60 70 72 6f 6a 65 63 74 69 | l.command.by.selecting.`projecti | 
| 24ec0 | 6c 65 2d 2d 63 6d 61 6b 65 2d 6e 6f 2d 70 72 65    73 65 74 27 2e 0a 0a 2d 20 45 6c 73 65 20 60 70 | le--cmake-no-preset'...-.Else.`p | 
| 24ee0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65    2d 6e 6f 2d 70 72 65 73 65 74 27 20 69 73 20 75 | rojectile--cmake-no-preset'.is.u | 
| 24f00 | 73 65 64 2e 22 0a 20 20 28 69 66 2d 6c 65 74 2a    20 28 28 75 73 65 2d 70 72 65 73 65 74 73 20 28 | sed."...(if-let*.((use-presets.( | 
| 24f20 | 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 6d 61 6e 64 2d 70 72 | projectile--cmake-use-command-pr | 
| 24f40 | 65 73 65 74 73 20 63 6f 6d 6d 61 6e 64 2d 74 79    70 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | esets.command-type))............ | 
| 24f60 | 28 70 72 65 73 65 74 2d 6e 61 6d 65 73 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 | (preset-names.(projectile--cmake | 
| 24f80 | 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65 74 2d    6e 61 6d 65 73 20 63 6f 6d 6d 61 6e 64 2d 74 79 | -command-preset-names.command-ty | 
| 24fa0 | 70 65 29 29 29 0a 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 | pe))).......(projectile-completi | 
| 24fc0 | 6e 67 2d 72 65 61 64 0a 20 20 20 20 20 20 20 22    55 73 65 20 70 72 65 73 65 74 3a 20 22 0a 20 20 | ng-read........"Use.preset:."... | 
| 24fe0 | 20 20 20 20 20 28 61 70 70 65 6e 64 20 70 72 65    73 65 74 2d 6e 61 6d 65 73 20 60 28 2c 70 72 6f | .....(append.preset-names.`(,pro | 
| 25000 | 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 6e    6f 2d 70 72 65 73 65 74 29 29 29 0a 20 20 20 20 | jectile--cmake-no-preset)))..... | 
| 25020 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b    65 2d 6e 6f 2d 70 72 65 73 65 74 29 29 0a 0a 28 | projectile--cmake-no-preset))..( | 
| 25040 | 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 2d 6d 61 6e 75 61 | defconst.projectile--cmake-manua | 
| 25060 | 6c 2d 63 6f 6d 6d 61 6e 64 2d 61 6c 69 73 74 0a    20 20 27 28 28 3a 63 6f 6e 66 69 67 75 72 65 2d | l-command-alist...'((:configure- | 
| 25080 | 63 6f 6d 6d 61 6e 64 20 2e 20 22 63 6d 61 6b 65    20 2d 53 20 2e 20 2d 42 20 62 75 69 6c 64 22 29 | command..."cmake.-S...-B.build") | 
| 250a0 | 0a 20 20 20 20 28 3a 63 6f 6d 70 69 6c 65 2d 63    6f 6d 6d 61 6e 64 20 2e 20 22 63 6d 61 6b 65 20 | .....(:compile-command..."cmake. | 
| 250c0 | 2d 2d 62 75 69 6c 64 20 62 75 69 6c 64 22 29 0a    20 20 20 20 28 3a 74 65 73 74 2d 63 6f 6d 6d 61 | --build.build").....(:test-comma | 
| 250e0 | 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 20 2d 2d 74 61 72 67 | nd..."cmake.--build.build.--targ | 
| 25100 | 65 74 20 74 65 73 74 22 29 0a 20 20 20 20 28 3a    70 61 63 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20 | et.test").....(:package-command. | 
| 25120 | 2e 20 22 63 6d 61 6b 65 20 2d 2d 62 75 69 6c 64    20 62 75 69 6c 64 20 2d 2d 74 61 72 67 65 74 20 | .."cmake.--build.build.--target. | 
| 25140 | 70 61 63 6b 61 67 65 22 29 0a 20 20 20 20 28 3a    69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 | package").....(:install-command. | 
| 25160 | 2e 20 22 63 6d 61 6b 65 20 2d 2d 62 75 69 6c 64    20 62 75 69 6c 64 20 2d 2d 74 61 72 67 65 74 20 | .."cmake.--build.build.--target. | 
| 25180 | 69 6e 73 74 61 6c 6c 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 | install")))..(defun.projectile-- | 
| 251a0 | 63 6d 61 6b 65 2d 6d 61 6e 75 61 6c 2d 63 6f 6d    6d 61 6e 64 20 28 63 6f 6d 6d 61 6e 64 2d 74 79 | cmake-manual-command.(command-ty | 
| 251c0 | 70 65 29 0a 20 20 22 43 72 65 61 74 65 20 6d 61    75 6e 75 61 6c 20 43 4d 61 6b 65 20 43 4f 4d 4d | pe)..."Create.maunual.CMake.COMM | 
| 251e0 | 41 4e 44 2d 54 59 50 45 20 63 6f 6d 6d 61 6e 64    2e 22 0a 20 20 28 63 64 72 20 28 61 73 73 6f 63 | AND-TYPE.command."...(cdr.(assoc | 
| 25200 | 20 63 6f 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 | .command-type.projectile--cmake- | 
| 25220 | 6d 61 6e 75 61 6c 2d 63 6f 6d 6d 61 6e 64 2d 61    6c 69 73 74 29 29 29 0a 0a 28 64 65 66 63 6f 6e | manual-command-alist)))..(defcon | 
| 25240 | 73 74 20 70 72 6f 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 | st.projectile--cmake-preset-comm | 
| 25260 | 61 6e 64 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 6e | and-alist...'((:configure-comman | 
| 25280 | 64 20 2e 20 22 63 6d 61 6b 65 20 2e 20 2d 2d 70    72 65 73 65 74 20 25 73 22 29 0a 20 20 20 20 28 | d..."cmake...--preset.%s").....( | 
| 252a0 | 3a 63 6f 6d 70 69 6c 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 | :compile-command..."cmake.--buil | 
| 252c0 | 64 20 2d 2d 70 72 65 73 65 74 20 25 73 22 29 0a    20 20 20 20 28 3a 74 65 73 74 2d 63 6f 6d 6d 61 | d.--preset.%s").....(:test-comma | 
| 252e0 | 6e 64 20 2e 20 22 63 74 65 73 74 20 2d 2d 70 72    65 73 65 74 20 25 73 22 29 0a 20 20 20 20 28 3a | nd..."ctest.--preset.%s").....(: | 
| 25300 | 70 61 63 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20    2e 20 22 63 70 61 63 6b 20 2d 2d 70 72 65 73 65 | package-command..."cpack.--prese | 
| 25320 | 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 6e 64 20 2e 20 22 | t.%s").....(:install-command..." | 
| 25340 | 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 2d 2d 74 61 72 67 | cmake.--build.--preset.%s.--targ | 
| 25360 | 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 6a 65 63 74 69 6c | et.install")))..(defun.projectil | 
| 25380 | 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 6f 6d 6d 61 6e 64 | e--cmake-preset-command.(command | 
| 253a0 | 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 61 6b 65 20 43 4f | -type.preset)..."Create.CMake.CO | 
| 253c0 | 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 52 45 53 45 54 2e | MMAND-TYPE.command.using.PRESET. | 
| 253e0 | 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 6d 6d 61 6e 64 2d | "...(format.(cdr.(assoc.command- | 
| 25400 | 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 73 65 74 2d 63 6f | type.projectile--cmake-preset-co | 
| 25420 | 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 65 66 75 6e 20 70 | mmand-alist)).preset))..(defun.p | 
| 25440 | 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 63 6f 6d 6d 61 6e | rojectile--cmake-command.(comman | 
| 25460 | 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 43 4f 4d 4d 41 4e | d-type)..."Create.a.CMake.COMMAN | 
| 25480 | 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 6e 64 20 69 73 20 | D-TYPE.command...The.command.is. | 
| 254a0 | 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 70 72 6f 6a 65 63 | created.like.this:..-.If.`projec | 
| 254c0 | 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 27 20 72 65 74 75 | tile--cmake-select-command'.retu | 
| 254e0 | 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 70 72 65 73 65 74 | rns.`projectile--cmake-no-preset | 
| 25500 | 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 6d 6d 61 6e 64 20 | '.a.manual.COMMAND-TYPE.command. | 
| 25520 | 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 65 2d 2d 63 6d 61 | is.created.with.`projectile--cma | 
| 25540 | 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 65 20 61 20 70 72 | ke-manual-command'...-.Else.a.pr | 
| 25560 | 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 75 73 69 6e 67 20 | eset.COMMAND-TYPE.command.using. | 
| 25580 | 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 61 74 65 64 20 77 | the.selected.preset.is.created.w | 
| 255a0 | 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 73 65 74 2d 63 6f | ith.`projectile--cmake-preset-co | 
| 255c0 | 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 65 73 65 74 20 28 | mmand'."...(let.((maybe-preset.( | 
| 255e0 | 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 | 
| 25600 | 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 65 71 75 61 6c 20 | .command-type))).....(if.(equal. | 
| 25620 | 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 6d 61 6b 65 2d 6e | maybe-preset.projectile--cmake-n | 
| 25640 | 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 69 6c 65 2d 2d 63 | o-preset).........(projectile--c | 
| 25660 | 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 64 2d 74 79 70 65 | make-manual-command.command-type | 
| 25680 | 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 2d 70 72 65 73 65 | ).......(projectile--cmake-prese | 
| 256a0 | 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 62 65 2d 70 72 65 | t-command.command-type.maybe-pre | 
| 256c0 | 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 2d 2d 63 6d 61 6b | set))))..(defun.projectile--cmak | 
| 256e0 | 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 43 4d 61 6b 65 20 | e-configure-command.()..."CMake. | 
| 25700 | 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 6a 65 63 74 69 6c | configure.command."...(projectil | 
| 25720 | 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 65 2d 63 6f 6d 6d | e--cmake-command.:configure-comm | 
| 25740 | 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 63 6d 61 6b 65 2d | and))..(defun.projectile--cmake- | 
| 25760 | 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 65 20 63 6f 6d 70 | compile-command.()..."CMake.comp | 
| 25780 | 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 65 2d 2d 63 6d 61 | ile.command."...(projectile--cma | 
| 257a0 | 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 64 29 29 0a 0a 28 | ke-command.:compile-command))..( | 
| 257c0 | 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 73 74 2d 63 6f 6d | defun.projectile--cmake-test-com | 
| 257e0 | 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 61 6e 64 2e 22 0a | mand.()..."CMake.test.command.". | 
| 25800 | 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 20 3a 74 65 | ..(projectile--cmake-command.:te | 
| 25820 | 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 6c 65 2d | st-command))..(defun.projectile- | 
| 25840 | 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 20 20 22 43 4d 61 | -cmake-install-command.()..."CMa | 
| 25860 | 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 6f 6a 65 63 74 69 | ke.install.command."...(projecti | 
| 25880 | 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 2d 63 6f 6d 6d 61 | le--cmake-command.:install-comma | 
| 258a0 | 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 63 6d 61 6b 65 2d 70 | nd))..(defun.projectile--cmake-p | 
| 258c0 | 61 63 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20 28    29 0a 20 20 22 43 4d 61 6b 65 20 70 61 63 6b 61 | ackage-command.()..."CMake.packa | 
| 258e0 | 67 65 20 63 6f 6d 6d 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 | ge.command."...(projectile--cmak | 
| 25900 | 65 2d 63 6f 6d 6d 61 6e 64 20 3a 70 61 63 6b 61    67 65 2d 63 6f 6d 6d 61 6e 64 29 29 0a 0a 3b 3b | e-command.:package-command))..;; | 
| 25920 | 3b 20 50 72 6f 6a 65 63 74 20 74 79 70 65 20 72    65 67 69 73 74 72 61 74 69 6f 6e 0a 3b 3b 0a 3b | ;.Project.type.registration.;;.; | 
| 25940 | 3b 20 50 72 6f 6a 65 63 74 20 74 79 70 65 20 64    65 74 65 63 74 69 6f 6e 20 68 61 70 70 65 6e 73 | ;.Project.type.detection.happens | 
| 25960 | 20 69 6e 20 61 20 72 65 76 65 72 73 65 20 6f 72    64 65 72 20 77 69 74 68 20 72 65 73 70 65 63 74 | .in.a.reverse.order.with.respect | 
| 25980 | 20 74 6f 0a 3b 3b 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 | .to.;;.project.type.registration | 
| 259a0 | 20 28 69 6e 76 6f 63 61 74 69 6f 6e 73 20 6f 66    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 | .(invocations.of.`projectile-reg | 
| 259c0 | 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 27 29 2e 0a 3b 3b 0a 3b 3b 20 41 73 20 66 | ister-project-type')..;;.;;.As.f | 
| 259e0 | 75 6e 63 74 69 6f 6e 2d 62 61 73 65 64 20 70 72    6f 6a 65 63 74 20 74 79 70 65 20 64 65 74 65 63 | unction-based.project.type.detec | 
| 25a00 | 74 69 6f 6e 20 69 73 20 70 72 65 74 74 79 20 73    6c 6f 77 2c 20 73 6f 20 69 74 0a 3b 3b 20 73 68 | tion.is.pretty.slow,.so.it.;;.sh | 
| 25a20 | 6f 75 6c 64 20 62 65 20 74 72 69 65 64 20 61 74    20 74 68 65 20 65 6e 64 20 69 66 20 65 76 65 72 | ould.be.tried.at.the.end.if.ever | 
| 25a40 | 79 74 68 69 6e 67 20 65 6c 73 65 20 66 61 69 6c    65 64 20 28 6d 65 61 6e 69 6e 67 20 68 65 72 65 | ything.else.failed.(meaning.here | 
| 25a60 | 0a 3b 3b 20 69 74 20 73 68 6f 75 6c 64 20 62 65    20 6c 69 73 74 65 64 20 66 69 72 73 74 29 2e 0a | .;;.it.should.be.listed.first).. | 
| 25a80 | 3b 3b 0a 3b 3b 20 49 64 65 61 6c 6c 79 20 63 6f    6d 6d 6f 6e 20 70 72 6f 6a 65 63 74 20 74 79 70 | ;;.;;.Ideally.common.project.typ | 
| 25aa0 | 65 73 20 73 68 6f 75 6c 64 20 62 65 20 63 68 65    63 6b 65 64 20 65 61 72 6c 69 65 72 20 74 68 61 | es.should.be.checked.earlier.tha | 
| 25ac0 | 6e 20 65 78 6f 74 69 63 20 6f 6e 65 73 2e 0a 0a    3b 3b 20 46 75 6e 63 74 69 6f 6e 2d 62 61 73 65 | n.exotic.ones...;;.Function-base | 
| 25ae0 | 64 20 64 65 74 65 63 74 69 6f 6e 20 70 72 6f 6a    65 63 74 20 74 79 70 65 0a 28 70 72 6f 6a 65 63 | d.detection.project.type.(projec | 
| 25b00 | 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 6b | tile-register-project-type.'hask | 
| 25b20 | 65 6c 6c 2d 63 61 62 61 6c 20 23 27 70 72 6f 6a    65 63 74 69 6c 65 2d 63 61 62 61 6c 2d 70 72 6f | ell-cabal.#'projectile-cabal-pro | 
| 25b40 | 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 20 20 | ject-p.......................... | 
| 25b60 | 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c    65 20 22 63 61 62 61 6c 20 62 75 69 6c 64 22 0a | .........:compile."cabal.build". | 
| 25b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 25ba0 | 20 20 3a 74 65 73 74 20 22 63 61 62 61 6c 20 74    65 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ..:test."cabal.test"............ | 
| 25bc0 | 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 61 62 | .......................:run."cab | 
| 25be0 | 61 6c 20 72 75 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 | al.run"......................... | 
| 25c00 | 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 65 63 22 29 0a 28 | ..........:test-suffix."Spec").( | 
| 25c20 | 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 | 
| 25c40 | 20 27 64 6f 74 6e 65 74 20 23 27 70 72 6f 6a 65    63 74 69 6c 65 2d 64 6f 74 6e 65 74 2d 70 72 6f | .'dotnet.#'projectile-dotnet-pro | 
| 25c60 | 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 20 20 | ject-p.......................... | 
| 25c80 | 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6a 65 63    74 2d 66 69 6c 65 20 27 28 22 3f 2a 2e 63 73 70 | .........:project-file.'("?*.csp | 
| 25ca0 | 72 6f 6a 22 20 22 3f 2a 2e 66 73 70 72 6f 6a 22    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | roj"."?*.fsproj")............... | 
| 25cc0 | 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 64 6f | ....................:compile."do | 
| 25ce0 | 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 20 20 20 | tnet.build"..................... | 
| 25d00 | 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 6e 22 0a | ..............:run."dotnet.run". | 
| 25d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 25d40 | 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 63 74 69 | ..:test."dotnet.test").(projecti | 
| 25d60 | 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 64 6f 74 6e 65 74 | le-register-project-type.'dotnet | 
| 25d80 | 2d 73 6c 6e 20 23 27 70 72 6f 6a 65 63 74 69 6c    65 2d 64 6f 74 6e 65 74 2d 73 6c 6e 2d 70 72 6f | -sln.#'projectile-dotnet-sln-pro | 
| 25da0 | 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 20 20 | ject-p.......................... | 
| 25dc0 | 20 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 73 6c 6e 22 0a | .........:project-file."?*.sln". | 
| 25de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 25e00 | 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"....... | 
| 25e20 | 20 20 20 20 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 | 
| 25e40 | 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"................... | 
| 25e60 | 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 | 
| 25e80 | 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 | 
| 25ea0 | 74 2d 74 79 70 65 20 27 6e 69 6d 2d 6e 69 6d 62    6c 65 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d | t-type.'nim-nimble.#'projectile- | 
| 25ec0 | 6e 69 6d 62 6c 65 2d 70 72 6f 6a 65 63 74 2d 70    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nimble-project-p................ | 
| 25ee0 | 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 | 
| 25f00 | 20 22 3f 2a 2e 6e 69 6d 62 6c 65 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."?*.nimble".................... | 
| 25f20 | 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 6d 62 6c 65 20 | ...............:compile."nimble. | 
| 25f40 | 2d 2d 6e 6f 43 6f 6c 6f 72 20 62 75 69 6c 64 20    2d 2d 63 6f 6c 6f 72 73 3a 6f 66 66 22 0a 20 20 | --noColor.build.--colors:off"... | 
| 25f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 25f80 | 3a 69 6e 73 74 61 6c 6c 20 22 6e 69 6d 62 6c 65    20 2d 2d 6e 6f 43 6f 6c 6f 72 20 69 6e 73 74 61 | :install."nimble.--noColor.insta | 
| 25fa0 | 6c 6c 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 20 20 | ll.--colors:off"................ | 
| 25fc0 | 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 6e 69 6d 62 6c 65 | ...................:test."nimble | 
| 25fe0 | 20 2d 2d 6e 6f 43 6f 6c 6f 72 20 74 65 73 74 20    2d 64 3a 6e 69 6d 55 6e 69 74 74 65 73 74 43 6f | .--noColor.test.-d:nimUnittestCo | 
| 26000 | 6c 6f 72 3a 6f 66 66 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:off.--colors:off"........... | 
| 26020 | 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 69 | ........................:run."ni | 
| 26040 | 6d 62 6c 65 20 2d 2d 6e 6f 43 6f 6c 6f 72 20 72    75 6e 20 2d 2d 63 6f 6c 6f 72 73 3a 6f 66 66 22 | mble.--noColor.run.--colors:off" | 
| 26060 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 26080 | 20 20 20 3a 73 72 63 2d 64 69 72 20 22 73 72 63    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...:src-dir."src"............... | 
| 260a0 | 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 22 74 | ....................:test-dir."t | 
| 260c0 | 65 73 74 73 22 29 0a 3b 3b 20 46 69 6c 65 2d 62    61 73 65 64 20 64 65 74 65 63 74 69 6f 6e 20 70 | ests").;;.File-based.detection.p | 
| 260e0 | 72 6f 6a 65 63 74 20 74 79 70 65 73 0a 0a 3b 3b    20 55 6e 69 76 65 72 73 61 6c 0a 28 70 72 6f 6a | roject.types..;;.Universal.(proj | 
| 26100 | 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 78 6d | ectile-register-project-type.'xm | 
| 26120 | 61 6b 65 20 27 28 22 78 6d 61 6b 65 2e 6c 75 61    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ake.'("xmake.lua").............. | 
| 26140 | 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 | 
| 26160 | 6c 65 20 22 78 6d 61 6b 65 2e 6c 75 61 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le."xmake.lua".................. | 
| 26180 | 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 78 6d 61 6b 65 | .................:compile."xmake | 
| 261a0 | 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 20 20 | .build"......................... | 
| 261c0 | 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 20    22 78 6d 61 6b 65 20 74 65 73 74 22 0a 20 20 20 | ..........:test."xmake.test".... | 
| 261e0 | 20 20 20 20 20 20 20 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 | ...............................: | 
| 26200 | 72 75 6e 20 22 78 6d 61 6b 65 20 72 75 6e 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | run."xmake.run"................. | 
| 26220 | 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 78 6d 61 6b | ..................:install."xmak | 
| 26240 | 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 | 
| 26260 | 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 73 74 72 75 | -project-type.'scons.'("SConstru | 
| 26280 | 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 20 20 20 20 | ct")............................ | 
| 262a0 | 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 72 75 63 74 | .......:project-file."SConstruct | 
| 262c0 | 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 | "............................... | 
| 262e0 | 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 20 20 20 20 | ....:compile."scons"............ | 
| 26300 | 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 73 63 | .......................:test."sc | 
| 26320 | 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 20 20 20 20 | ons.test"....................... | 
| 26340 | 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 73 74 22 29 | ............:test-suffix."test") | 
| 26360 | 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 | 
| 26380 | 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 20 20 20 20 | pe.'meson.'("meson.build")...... | 
| 263a0 | 20 20 20 20 20 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 | 
| 263c0 | 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 20 20 20 20 | oject-file."meson.build"........ | 
| 263e0 | 20 20 20 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 | 
| 26400 | 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 20 20 20 20 | ilation-dir."build"............. | 
| 26420 | 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 67 75 72 65 | ......................:configure | 
| 26440 | 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 20 20 20 20 | ."meson.%s"..................... | 
| 26460 | 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 61 22 0a 20 | ..............:compile."ninja".. | 
| 26480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 264a0 | 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 74 69 6c 65 | .:test."ninja.test").(projectile | 
| 264c0 | 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 27 28 22 64 | -register-project-type.'nix.'("d | 
| 264e0 | 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 20 20 20 20 | efault.nix").................... | 
| 26500 | 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 64 65 | ...............:project-file."de | 
| 26520 | 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 20 20 20 20 | fault.nix"...................... | 
| 26540 | 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 75 69 6c 64 | .............:compile."nix-build | 
| 26560 | 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 | "............................... | 
| 26580 | 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 65 63 74 69 | ....:test."nix-build").(projecti | 
| 265a0 | 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 2d 66 6c | le-register-project-type.'nix-fl | 
| 265c0 | 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 20 20 20 20 | ake.'("flake.nix").............. | 
| 265e0 | 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 | 
| 26600 | 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 20 20 20 20 | le."flake.nix".................. | 
| 26620 | 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 20 62 | .................:compile."nix.b | 
| 26640 | 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"........................... | 
| 26660 | 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 63 6b 22 0a | ........:test."nix.flake.check". | 
| 26680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 266a0 | 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 65 2d 72 65 | ..:run."nix.run").(projectile-re | 
| 266c0 | 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 28 22 57 4f | gister-project-type.'bazel.'("WO | 
| 266e0 | 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 20 20 20 20 | RKSPACE")....................... | 
| 26700 | 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 4f 52 4b 53 | ............:project-file."WORKS | 
| 26720 | 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 20 20 20 20 | PACE"........................... | 
| 26740 | 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 64 22 0a 20 | ........:compile."bazel.build".. | 
| 26760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 26780 | 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 20 20 20 20 | .:test."bazel.test"............. | 
| 267a0 | 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 62 61 7a 65 | ......................:run."baze | 
| 267c0 | 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 2d 70 72 6f | l.run").(projectile-register-pro | 
| 267e0 | 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 63 6f 6e 74 | ject-type.'debian.'("debian/cont | 
| 26800 | 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 20 20 20 20 | rol")........................... | 
| 26820 | 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 6e 2f 63 6f | ........:project-file."debian/co | 
| 26840 | 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 20 20 20 20 | ntrol".......................... | 
| 26860 | 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 75 63 20 2d | .........:compile."debuild.-uc.- | 
| 26880 | 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 63 74 69 6c | us")..;;.Make.&.CMake.(projectil | 
| 268a0 | 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 65 20 27 28 | e-register-project-type.'make.'( | 
| 268c0 | 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 20 20 20 20 | "Makefile")..................... | 
| 268e0 | 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 4d 61 6b | ..............:project-file."Mak | 
| 26900 | 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 20 20 20 20 | efile".......................... | 
| 26920 | 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 20 20 20 20 | .........:compile."make"........ | 
| 26940 | 20 20 20 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 | 
| 26960 | 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 20 20 20 20 | ."make.test".................... | 
| 26980 | 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 65 20 69 6e | ...............:install."make.in | 
| 269a0 | 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 2d 70 72 6f | stall").(projectile-register-pro | 
| 269c0 | 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 65 66 69 6c | ject-type.'gnumake.'("GNUMakefil | 
| 269e0 | 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 20 20 20 20 | e")............................. | 
| 26a00 | 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 66 69 6c 65 | ......:project-file."GNUMakefile | 
| 26a20 | 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 | "............................... | 
| 26a40 | 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 20 20 20 20 | ....:compile."make"............. | 
| 26a60 | 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 61 6b | ......................:test."mak | 
| 26a80 | 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 20 20 20 20 | e.test"......................... | 
| 26aa0 | 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 74 61 6c 6c | ..........:install."make.install | 
| 26ac0 | 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 74 2d | ").(projectile-register-project- | 
| 26ae0 | 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 74 22 29 0a | type.'cmake.'("CMakeLists.txt"). | 
| 26b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 26b20 | 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 74 78 74 22 | ..:project-file."CMakeLists.txt" | 
| 26b40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 26b60 | 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 63 6d 61 6b | ...:configure.#'projectile--cmak | 
| 26b80 | 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 20 20 20 20 | e-configure-command............. | 
| 26ba0 | 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 23 | ......................:compile.# | 
| 26bc0 | 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 6f 6d 6d 61 | 'projectile--cmake-compile-comma | 
| 26be0 | 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.............................. | 
| 26c00 | 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 6b 65 2d 74 | .....:test.#'projectile--cmake-t | 
| 26c20 | 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 20 20 20 20 | est-command..................... | 
| 26c40 | 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 6a 65 63 74 | ..............:install.#'project | 
| 26c60 | 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 20 20 20 20 | ile--cmake-install-command...... | 
| 26c80 | 20 20 20 20 20 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 61 | .............................:pa | 
| 26ca0 | 63 6b 61 67 65 20 23 27 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 63 6d 61 6b 65 2d 70 61 63 6b 61 67 | ckage.#'projectile--cmake-packag | 
| 26cc0 | 65 2d 63 6f 6d 6d 61 6e 64 29 0a 3b 3b 20 67 6f    2d 74 61 73 6b 2f 74 61 73 6b 0a 28 70 72 6f 6a | e-command).;;.go-task/task.(proj | 
| 26ce0 | 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 67 6f | ectile-register-project-type.'go | 
| 26d00 | 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 20 20 20 20 20 20 20 | -task.'("Taskfile.yml")......... | 
| 26d20 | 20 20 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 | 
| 26d40 | 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 20 20 20 20 20 20 20 | ct-file."Taskfile.yml".......... | 
| 26d60 | 20 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 | 
| 26d80 | 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 20 20 20 20 20 20 20 | e."task.build".................. | 
| 26da0 | 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 61 73 6b 20 74 65 73 | .................:test."task.tes | 
| 26dc0 | 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".............................. | 
| 26de0 | 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 6c 6c 22 29 0a 3b 3b | .....:install."task.install").;; | 
| 26e00 | 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 65 63 65 64 65 6e 63 | .Go.should.take.higher.precedenc | 
| 26e20 | 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 6f 6a 65 63 74 73 20 | e.than.Make.because.Go.projects. | 
| 26e40 | 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 72 6f 6a 65 63 74 69 | often.have.a.Makefile..(projecti | 
| 26e60 | 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 6f 20 70 72 6f | le-register-project-type.'go.pro | 
| 26e80 | 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 75 6e 63 74 69 6f 6e | jectile-go-project-test-function | 
| 26ea0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 26ec0 | 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 20 20 20 20 20 20 20 | ...:compile."go.build".......... | 
| 26ee0 | 20 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 | .........................:test." | 
| 26f00 | 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 20 20 20 20 20 20 20 | go.test../...".................. | 
| 26f20 | 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."_ | 
| 26f40 | 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 2d 72 65 67 69 73 74 | test").;;.PHP.(projectile-regist | 
| 26f60 | 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 6f 6e 79 20 27 28 22 | er-project-type.'php-symfony.'(" | 
| 26f80 | 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 22 20 22 76 65 6e 64 | composer.json"."app"."src"."vend | 
| 26fa0 | 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 20 20 20 20 20 20 20 | or")............................ | 
| 26fc0 | 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 70 6f 73 65 72 2e 6a | .......:project-file."composer.j | 
| 26fe0 | 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 20 20 20 20 20 20 20 | son"............................ | 
| 27000 | 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 6f 6c 65 20 73 65 72 | .......:compile."app/console.ser | 
| 27020 | 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 20 20 20 20 20 20 20 | ver:run"........................ | 
| 27040 | 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 20 2d 63 20 61 70 70 | ...........:test."phpunit.-c.app | 
| 27060 | 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 20 20 | .".............................. | 
| 27080 | 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 3b 3b 20 45 72 6c | .....:test-suffix."Test").;;.Erl | 
| 270a0 | 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 72 65 67 69 73 74 65 | ang.&.Elixir.(projectile-registe | 
| 270c0 | 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 72 65 62 61 72 2e 63 | r-project-type.'rebar.'("rebar.c | 
| 270e0 | 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 20 20 20 20 20 20 20 | onfig")......................... | 
| 27100 | 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 62 61 72 2e 63 | ..........:project-file."rebar.c | 
| 27120 | 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 20 20 20 20 20 20 20 | onfig".......................... | 
| 27140 | 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 20 63 6f 6d 70 69 6c | .........:compile."rebar3.compil | 
| 27160 | 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 20 20 20 | e".............................. | 
| 27180 | 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 69 74 2c 63 74 22 0a | .....:test."rebar3.do.eunit,ct". | 
| 271a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 271c0 | 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 28 70 72 6f 6a 65 63 | ..:test-suffix."_SUITE").(projec | 
| 271e0 | 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 65 6c 69 78 | tile-register-project-type.'elix | 
| 27200 | 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 20 20 20 20 20 20 20 | ir.'("mix.exs")................. | 
| 27220 | 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. | 
| 27240 | 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 20 20 20 20 20 20 20 | "mix.exs"....................... | 
| 27260 | 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 20 63 6f 6d 70 69 6c | ............:compile."mix.compil | 
| 27280 | 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 20 20 20 | e".............................. | 
| 272a0 | 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 20 20 20 20 20 20 20 | .....:src-dir."lib/"............ | 
| 272c0 | 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 69 | .......................:test."mi | 
| 272e0 | 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 20 20 20 20 20 20 20 | x.test"......................... | 
| 27300 | 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 0a | ..........:test-suffix."_test"). | 
| 27320 | 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 2d 72 65 67 69 73 74 | ;;.JavaScript.(projectile-regist | 
| 27340 | 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 22 47 72 75 6e 74 66 | er-project-type.'grunt.'("Gruntf | 
| 27360 | 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 20 20 20 20 20 20 20 | ile.js")........................ | 
| 27380 | 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 47 72 75 6e 74 66 | ...........:project-file."Gruntf | 
| 273a0 | 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 20 20 20 20 20 20 20 | ile.js"......................... | 
| 273c0 | 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 22 0a 20 20 20 20 20 | ..........:compile."grunt"...... | 
| 273e0 | 20 20 20 20 20 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 | 
| 27400 | 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 69 6c 65 2d 72 65 67 | st."grunt.test").(projectile-reg | 
| 27420 | 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 27 28 22 67 75 6c 70 | ister-project-type.'gulp.'("gulp | 
| 27440 | 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 20 20 20 20 20 20 | file.js")....................... | 
| 27460 | 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 75 6c 70 66 | ............:project-file."gulpf | 
| 27480 | 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 20 20 20 20 20 20 20 | ile.js"......................... | 
| 274a0 | 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 0a 20 20 20 20 20 20 | ..........:compile."gulp"....... | 
| 274c0 | 20 20 20 20 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 | 
| 274e0 | 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 65 2d 72 65 67 69 73 | t."gulp.test").(projectile-regis | 
| 27500 | 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 70 61 63 6b 61 67 65 | ter-project-type.'npm.'("package | 
| 27520 | 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 22 29 0a 20 20 20 20 | .json"."package-lock.json")..... | 
| 27540 | 20 20 20 20 20 20 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 | 
| 27560 | 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 20 | roject-file."package.json"...... | 
| 27580 | 20 20 20 20 20 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 | 
| 275a0 | 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 20 72 75 6e 20 62 75 | mpile."npm.install.&&.npm.run.bu | 
| 275c0 | 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 20 | ild"............................ | 
| 275e0 | 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 20 20 20 20 20 20 20 | .......:test."npm.test"......... | 
| 27600 | 20 20 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- | 
| 27620 | 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 6c 65 2d 72 65 67 69 | suffix.".test").(projectile-regi | 
| 27640 | 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 28 22 70 61 63 6b 61 | ster-project-type.'yarn.'("packa | 
| 27660 | 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 20 20 20 20 20 20 20 | ge.json"."yarn.lock")........... | 
| 27680 | 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 | 
| 276a0 | 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 20 20 20 20 20 20 20 | -file."package.json"............ | 
| 276c0 | 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. | 
| 276e0 | 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 20 20 20 20 20 20 20 | "yarn.&&.yarn.build"............ | 
| 27700 | 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 79 61 | .......................:test."ya | 
| 27720 | 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 20 20 20 20 20 20 20 | rn.test"........................ | 
| 27740 | 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 65 73 74 22 29 | ...........:test-suffix.".test") | 
| 27760 | 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 | 
| 27780 | 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 20 22 70 6e 70 6d 2d | pe.'pnpm.'("package.json"."pnpm- | 
| 277a0 | 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 20 20 20 20 20 20 20 | lock.yaml")..................... | 
| 277c0 | 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 61 63 | ..............:project-file."pac | 
| 277e0 | 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 20 20 20 20 20 20 20 | kage.json"...................... | 
| 27800 | 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 70 6d 20 69 6e 73 74 | .............:compile."pnpm.inst | 
| 27820 | 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 20 20 20 20 20 20 20 | all.&&.pnpm.build".............. | 
| 27840 | 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 70 6e 70 6d | .....................:test."pnpm | 
| 27860 | 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 20 20 20 | .test".......................... | 
| 27880 | 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 65 73 74 22 29 0a 3b | .........:test-suffix.".test").; | 
| 278a0 | 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 69 73 74 65 72 2d 70 | ;.Angular.(projectile-register-p | 
| 278c0 | 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 6e 67 75 6c 61 72 2e | roject-type.'angular.'("angular. | 
| 278e0 | 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 29 0a 20 20 20 20 20 | json".".angular-cli.json")...... | 
| 27900 | 20 20 20 20 20 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 | 
| 27920 | 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 0a 20 20 20 20 20 20 | oject-file."angular.json"....... | 
| 27940 | 20 20 20 20 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 | 
| 27960 | 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 20 20 20 20 20 20 20 | pile."ng.build"................. | 
| 27980 | 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 67 20 73 65 72 76 65 | ..................:run."ng.serve | 
| 279a0 | 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 | "............................... | 
| 279c0 | 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 20 20 20 20 20 20 20 | ....:test."ng.test"............. | 
| 279e0 | 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 66 | ......................:test-suff | 
| 27a00 | 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 6f 6a 65 63 74 69 6c | ix.".spec").;;.Python.(projectil | 
| 27a20 | 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 64 6a 61 6e 67 6f 20 | e-register-project-type.'django. | 
| 27a40 | 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 20 20 20 20 20 20 20 | '("manage.py").................. | 
| 27a60 | 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." | 
| 27a80 | 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 20 20 20 20 20 20 20 | manage.py"...................... | 
| 27aa0 | 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 6e 20 6d 61 | .............:compile."python.ma | 
| 27ac0 | 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 20 20 20 20 20 20 20 | nage.py.runserver".............. | 
| 27ae0 | 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 70 79 74 68 | .....................:test."pyth | 
| 27b00 | 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 20 20 20 20 20 20 20 | on.manage.py.test".............. | 
| 27b20 | 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 69 | .....................:test-prefi | 
| 27b40 | 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 20 | x."test_"....................... | 
| 27b60 | 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 29 | ............:test-suffix"_test") | 
| 27b80 | 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 | 
| 27ba0 | 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 6d 65 6e 74 73 2e 74 | pe.'python-pip.'("requirements.t | 
| 27bc0 | 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 20 20 20 20 20 20 20 | xt")............................ | 
| 27be0 | 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 75 69 72 65 6d 65 6e | .......:project-file."requiremen | 
| 27c00 | 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 20 20 20 20 20 20 20 | ts.txt"......................... | 
| 27c20 | 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 6e 20 73 65 74 75 70 | ..........:compile."python.setup | 
| 27c40 | 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 20 20 20 20 20 20 20 | .py.build"...................... | 
| 27c60 | 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 6e 20 2d 6d 20 75 6e | .............:test."python.-m.un | 
| 27c80 | 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 20 20 20 20 20 20 20 | ittest.discover"................ | 
| 27ca0 | 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 20 | ...................:test-prefix. | 
| 27cc0 | 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 20 | "test_"......................... | 
| 27ce0 | 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 29 0a 28 | ..........:test-suffix"_test").( | 
| 27d00 | 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 | 
| 27d20 | 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 29 0a 20 20 20 20 20 | .'python-pkg.'("setup.py")...... | 
| 27d40 | 20 20 20 20 20 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 | 
| 27d60 | 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 20 20 20 20 20 20 20 | oject-file."setup.py"........... | 
| 27d80 | 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 65 | ........................:compile | 
| 27da0 | 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 20 20 20 20 20 20 20 | ."python.setup.py.build"........ | 
| 27dc0 | 20 20 20 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 | 
| 27de0 | 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 22 0a 20 | ."python.-m.unittest.discover".. | 
| 27e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 27e20 | 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 20 20 20 | .:test-prefix."test_"........... | 
| 27e40 | 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 | 
| 27e60 | 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 72 65 67 69 73 74 65 | ffix"_test").(projectile-registe | 
| 27e80 | 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 78 20 27 28 22 74 6f | r-project-type.'python-tox.'("to | 
| 27ea0 | 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 20 20 20 20 20 20 20 | x.ini")......................... | 
| 27ec0 | 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 74 6f 78 2e 69 6e 69 | ..........:project-file."tox.ini | 
| 27ee0 | 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 | "............................... | 
| 27f00 | 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 74 65 73 74 22 0a 20 | ....:compile."tox.-r.--notest".. | 
| 27f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 27f40 | 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 20 20 20 20 20 20 20 | .:test."tox".................... | 
| 27f60 | 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 73 | ...............:test-prefix."tes | 
| 27f80 | 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 20 20 20 20 20 | t_"............................. | 
| 27fa0 | 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 29 0a 28 70 72 6f 6a | ......:test-suffix"_test").(proj | 
| 27fc0 | 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 | 
| 27fe0 | 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 20 20 20 20 20 20 20 | thon-pipenv.'("Pipfile")........ | 
| 28000 | 20 20 20 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 | 
| 28020 | 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 20 20 20 20 20 20 20 | ect-file."Pipfile".............. | 
| 28040 | 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 70 | .....................:compile."p | 
| 28060 | 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 20 20 20 20 20 20 20 | ipenv.run.build"................ | 
| 28080 | 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 69 70 65 6e 76 | ...................:test."pipenv | 
| 280a0 | 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 20 20 20 20 20 20 20 | .run.test"...................... | 
| 280c0 | 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 5f | .............:test-prefix."test_ | 
| 280e0 | 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 | "............................... | 
| 28100 | 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 65 | ....:test-suffix."_test").(proje | 
| 28120 | 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 74 | ctile-register-project-type.'pyt | 
| 28140 | 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 22 29 0a 20 20 20 20 | hon-poetry.'("poetry.lock")..... | 
| 28160 | 20 20 20 20 20 20 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 | 
| 28180 | 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 0a 20 20 20 20 20 20 | roject-file."poetry.lock"....... | 
| 281a0 | 20 20 20 20 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 | 
| 281c0 | 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 20 20 20 20 20 20 20 | pile."poetry.build"............. | 
| 281e0 | 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 70 6f 65 | ......................:test."poe | 
| 28200 | 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 74 20 64 69 73 63 6f | try.run.python.-m.unittest.disco | 
| 28220 | 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 20 | ver"............................ | 
| 28240 | 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 20 | .......:test-prefix."test_"..... | 
| 28260 | 20 20 20 20 20 20 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 | 
| 28280 | 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 65 2d | est-suffix."_test").(projectile- | 
| 282a0 | 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 | 
| 282c0 | 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 20 20 20 20 20 20 20 | ml.'("pyproject.toml").......... | 
| 282e0 | 20 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 | 
| 28300 | 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 20 20 20 20 20 20 20 | t-file."pyproject.toml"......... | 
| 28320 | 20 20 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 | 
| 28340 | 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 20 20 20 20 20 20 20 | le."python.-m.build"............ | 
| 28360 | 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 70 79 | .......................:test."py | 
| 28380 | 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 22 0a 20 20 20 20 20 | thon.-m.unittest.discover"...... | 
| 283a0 | 20 20 20 20 20 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 | 
| 283c0 | 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 20 20 20 20 20 20 20 | st-prefix."test_"............... | 
| 283e0 | 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 66 69 78 | ....................:test-suffix | 
| 28400 | 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 64 73 0a 28 70 72 6f | ."_test").;;.Java.&.friends.(pro | 
| 28420 | 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 6d | jectile-register-project-type.'m | 
| 28440 | 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 20 20 20 20 20 20 20 | aven.'("pom.xml")............... | 
| 28460 | 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 6c | ....................:project-fil | 
| 28480 | 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 20 20 20 20 20 20 20 | e."pom.xml"..................... | 
| 284a0 | 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 76 6e 20 2d 42 20 63 | ..............:compile."mvn.-B.c | 
| 284c0 | 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 20 20 20 20 20 20 20 | lean.install"................... | 
| 284e0 | 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 6e 20 2d 42 20 74 65 | ................:test."mvn.-B.te | 
| 28500 | 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"............................. | 
| 28520 | 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 0a 20 20 20 20 20 20 | ......:test-suffix."Test"....... | 
| 28540 | 20 20 20 20 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 | 
| 28560 | 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 20 20 20 20 20 20 20 | -dir."src/main/"................ | 
| 28580 | 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 22 73 72 | ...................:test-dir."sr | 
| 285a0 | 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 69 73 74 65 72 2d 70 | c/test/").(projectile-register-p | 
| 285c0 | 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 69 6c 64 2e 67 72 61 | roject-type.'gradle.'("build.gra | 
| 285e0 | 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 20 20 20 20 20 20 20 | dle")........................... | 
| 28600 | 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 67 72 61 | ........:project-file."build.gra | 
| 28620 | 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 20 20 20 20 20 20 20 | dle"............................ | 
| 28640 | 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 75 69 6c 64 22 0a 20 | .......:compile."gradle.build".. | 
| 28660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 28680 | 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 20 20 20 20 20 20 20 | .:test."gradle.test"............ | 
| 286a0 | 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 | 
| 286c0 | 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 72 | fix."Spec").(projectile-register | 
| 286e0 | 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 22 67 72 61 64 6c 65 | -project-type.'gradlew.'("gradle | 
| 28700 | 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 20 20 20 20 20 20 20 | w")............................. | 
| 28720 | 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 6c 65 77 22 0a 20 20 | ......:project-file."gradlew"... | 
| 28740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 28760 | 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 22 0a 20 20 20 20 20 | :compile."./gradlew.build"...... | 
| 28780 | 20 20 20 20 20 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 | 
| 287a0 | 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 20 20 20 20 20 20 20 | st."./gradlew.test"............. | 
| 287c0 | 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 66 | ......................:test-suff | 
| 287e0 | 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 72 2d | ix."Spec").(projectile-register- | 
| 28800 | 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 70 70 6c 69 63 61 74 | project-type.'grails.'("applicat | 
| 28820 | 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 20 20 20 20 20 20 20 | ion.yml"."grails-app").......... | 
| 28840 | 20 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 | 
| 28860 | 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 20 20 20 20 20 20 20 | t-file."application.yml"........ | 
| 28880 | 20 20 20 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 | 
| 288a0 | 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 20 20 20 20 20 20 20 | ile."grails.package"............ | 
| 288c0 | 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 67 72 | .......................:test."gr | 
| 288e0 | 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 20 20 20 20 20 20 20 | ails.test-app".................. | 
| 28900 | 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 53 | .................:test-suffix."S | 
| 28920 | 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 65 2d 72 65 67 69 73 | pec").;;.Scala.(projectile-regis | 
| 28940 | 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 62 75 69 6c 64 2e 73 | ter-project-type.'sbt.'("build.s | 
| 28960 | 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 20 20 20 20 20 20 20 | bt")............................ | 
| 28980 | 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 62 74 22 | .......:project-file."build.sbt" | 
| 289a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 289c0 | 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 20 20 20 20 20 20 20 | ...:src-dir."main".............. | 
| 289e0 | 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 22 | .....................:test-dir." | 
| 28a00 | 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"........................... | 
| 28a20 | 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 70 69 6c 65 22 0a 20 | ........:compile."sbt.compile".. | 
| 28a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 28a60 | 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 20 20 20 20 20 20 20 | .:test."sbt.test"............... | 
| 28a80 | 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 66 69 78 | ....................:test-suffix | 
| 28aa0 | 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 69 73 74 65 72 2d 70 | ."Spec")..(projectile-register-p | 
| 28ac0 | 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 64 2e 73 63 22 29 0a | roject-type.'mill.'("build.sc"). | 
| 28ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 28b00 | 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 22 0a 20 20 20 20 20 | ..:project-file."build.sc"...... | 
| 28b20 | 20 20 20 20 20 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 | .............................:sr | 
| 28b40 | 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 20 20 20 20 20 20 20 | c-dir."src/".................... | 
| 28b60 | 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 74 65 73 74 2f 73 | ...............:test-dir."test/s | 
| 28b80 | 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 20 20 20 20 20 20 20 | rc/"............................ | 
| 28ba0 | 20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20    22 6d 69 6c 6c 20 5f 5f 2e 63 6f 6d 70 69 6c 65 | .......:compile."mill.__.compile | 
| 28bc0 | 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 | "............................... | 
| 28be0 | 20 20 20 20 3a 74 65 73 74 20 22 6d 69 6c 6c 20    5f 5f 2e 74 65 73 74 22 0a 20 20 20 20 20 20 20 | ....:test."mill.__.test"........ | 
| 28c00 | 20 20 20 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 | 
| 28c20 | 2d 73 75 66 66 69 78 20 22 54 65 73 74 22 29 0a    0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 | -suffix."Test")..(projectile-reg | 
| 28c40 | 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 20 27 62 6c 6f 6f 70 20 27 28 22 2e 62 6c | ister-project-type.'bloop.'(".bl | 
| 28c60 | 6f 6f 70 2f 62 6c 6f 6f 70 2e 73 65 74 74 69 6e    67 73 2e 6a 73 6f 6e 22 29 0a 20 20 20 20 20 20 | oop/bloop.settings.json")....... | 
| 28c80 | 20 20 20 20 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 | 
| 28ca0 | 70 69 6c 65 20 22 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 | pile."bloop.compile.root"....... | 
| 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 20 20 3a 74 65 73 | ............................:tes | 
| 28ce0 | 74 20 22 62 6c 6f 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 | t."bloop.test.--propagate.--repo | 
| 28d00 | 72 74 65 72 20 73 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 | rter.scalac.root"............... | 
| 28d20 | 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 | 
| 28d40 | 63 2f 6d 61 69 6e 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 | c/main/"........................ | 
| 28d60 | 20 20 20 20 20 20 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 | ...........:test-dir."src/test/" | 
| 28d80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 28da0 | 20 20 20 3a 74 65 73 74 2d 73 75 66 66 69 78 20    22 53 70 65 63 22 29 0a 0a 3b 3b 20 43 6c 6f 6a | ...:test-suffix."Spec")..;;.Cloj | 
| 28dc0 | 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 70 72 6f 6a 65 63 74 | ure.(projectile-register-project | 
| 28de0 | 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 63 74 2e 63 6c 6a 22 | -type.'lein-test.'("project.clj" | 
| 28e00 | 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 | )............................... | 
| 28e20 | 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 74 2e 63 6c 6a 22 0a | ....:project-file."project.clj". | 
| 28e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 28e60 | 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 0a 20 20 20 20 20 20 | ..:compile."lein.compile"....... | 
| 28e80 | 20 20 20 20 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 | 
| 28ea0 | 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 20 20 20 20 20 20 20 | t."lein.test"................... | 
| 28ec0 | 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 | 
| 28ee0 | 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 | 
| 28f00 | 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 6f 6a 65 63 74 2e 63 | ct-type.'lein-midje.'("project.c | 
| 28f20 | 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 20 20 20 20 20 20 20 | lj".".midje.clj")............... | 
| 28f40 | 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 6c | ....................:project-fil | 
| 28f60 | 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 20 20 20 20 20 20 20 | e."project.clj"................. | 
| 28f80 | 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 6c 65 69 6e | ..................:compile."lein | 
| 28fa0 | 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"....................... | 
| 28fc0 | 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 69 64 6a 65 22 0a 20 | ............:test."lein.midje".. | 
| 28fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 29000 | 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 65 63 74 69 6c 65 2d | .:test-prefix."t_").(projectile- | 
| 29020 | 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 6f 74 2d 63 6c 6a 20 | register-project-type.'boot-clj. | 
| 29040 | 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 20 20 20 20 20 20 20 | '("build.boot")................. | 
| 29060 | 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. | 
| 29080 | 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 20 20 20 20 20 20 20 | "build.boot".................... | 
| 290a0 | 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 62 6f 6f 74 20 61 6f | ...............:compile."boot.ao | 
| 290c0 | 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".............................. | 
| 290e0 | 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 20 20 20 20 20 20 20 | .....:test."boot.test".......... | 
| 29100 | 20 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 | 
| 29120 | 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 65 2d 72 65 67 69 73 | uffix."_test").(projectile-regis | 
| 29140 | 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 2d 63 6c 69 20 27 28 | ter-project-type.'clojure-cli.'( | 
| 29160 | 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 20 20 20 20 20 20 20 | "deps.edn")..................... | 
| 29180 | 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 64 65 70 | ..............:project-file."dep | 
| 291a0 | 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 20 20 20 20 20 20 20 | s.edn".......................... | 
| 291c0 | 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 0a 0a | .........:test-suffix."_test").. | 
| 291e0 | 3b 3b 20 52 75 62 79 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 | ;;.Ruby.(projectile-register-pro | 
| 29200 | 6a 65 63 74 2d 74 79 70 65 20 27 72 75 62 79 2d    72 73 70 65 63 20 27 28 22 47 65 6d 66 69 6c 65 | ject-type.'ruby-rspec.'("Gemfile | 
| 29220 | 22 20 22 6c 69 62 22 20 22 73 70 65 63 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "."lib"."spec")................. | 
| 29240 | 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. | 
| 29260 | 22 47 65 6d 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 | "Gemfile"....................... | 
| 29280 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d    70 69 6c 65 20 22 62 75 6e 64 6c 65 20 65 78 65 | ............:compile."bundle.exe | 
| 292a0 | 63 20 72 61 6b 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 | c.rake"......................... | 
| 292c0 | 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 20 20 | ..........:src-dir."lib/"....... | 
| 292e0 | 20 20 20 20 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 | 
| 29300 | 74 20 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 | t."bundle.exec.rspec"........... | 
| 29320 | 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 64 69 | ........................:test-di | 
| 29340 | 72 20 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 | r."spec/"....................... | 
| 29360 | 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 73 70 65 63 22 | ............:test-suffix."_spec" | 
| 29380 | 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 | 
| 293a0 | 79 70 65 20 27 72 75 62 79 2d 74 65 73 74 20 27    28 22 47 65 6d 66 69 6c 65 22 20 22 6c 69 62 22 | ype.'ruby-test.'("Gemfile"."lib" | 
| 293c0 | 20 22 74 65 73 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 | ."test")........................ | 
| 293e0 | 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 47 65 6d 66 69 6c | ...........:project-file."Gemfil | 
| 29400 | 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 20 20 20 | e".............................. | 
| 29420 | 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 22 62 75    6e 64 6c 65 20 65 78 65 63 20 72 61 6b 65 22 0a | .....:compile"bundle.exec.rake". | 
| 29440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 29460 | 20 20 3a 73 72 63 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 | ..:src-dir."lib/"............... | 
| 29480 | 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 75 6e 64 6c | ....................:test."bundl | 
| 294a0 | 65 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 | e.exec.rake.test"............... | 
| 294c0 | 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 66 69 78 | ....................:test-suffix | 
| 294e0 | 20 22 5f 74 65 73 74 22 29 0a 3b 3b 20 52 61 69    6c 73 20 6e 65 65 64 73 20 74 6f 20 62 65 20 72 | ."_test").;;.Rails.needs.to.be.r | 
| 29500 | 65 67 69 73 74 65 72 65 64 20 61 66 74 65 72 20    6e 70 6d 2c 20 6f 74 68 65 72 77 69 73 65 20 60 | egistered.after.npm,.otherwise.` | 
| 29520 | 70 61 63 6b 61 67 65 2e 6a 73 6f 6e 60 20 6d 61    6b 65 73 20 69 74 20 60 6e 70 6d 60 2e 0a 3b 3b | package.json`.makes.it.`npm`..;; | 
| 29540 | 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 6f 6a | .https://github.com/bbatsov/proj | 
| 29560 | 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 31 39 31    0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 | ectile/pull/1191.(projectile-reg | 
| 29580 | 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 20 27 72 61 69 6c 73 2d 74 65 73 74 20 27 | ister-project-type.'rails-test.' | 
| 295a0 | 28 22 47 65 6d 66 69 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 | ("Gemfile"."app"."lib"."db"."con | 
| 295c0 | 66 69 67 22 20 22 74 65 73 74 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fig"."test").................... | 
| 295e0 | 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 47 65 | ...............:project-file."Ge | 
| 29600 | 6d 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 | mfile".......................... | 
| 29620 | 20 20 20 20 20 20 20 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 | .........:compile."bundle.exec.r | 
| 29640 | 61 69 6c 73 20 73 65 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 | ails.server".................... | 
| 29660 | 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 61 70 70 2f 22 0a 20 | ...............:src-dir."app/".. | 
| 29680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 296a0 | 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 73 74 22 0a 20 | .:test."bundle.exec.rake.test".. | 
| 296c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 296e0 | 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 65 63 74 69 | .:test-suffix."_test").(projecti | 
| 29700 | 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 61 69 6c 73 2d | le-register-project-type.'rails- | 
| 29720 | 72 73 70 65 63 20 27 28 22 47 65 6d 66 69 6c 65    22 20 22 61 70 70 22 20 22 6c 69 62 22 20 22 64 | rspec.'("Gemfile"."app"."lib"."d | 
| 29740 | 62 22 20 22 63 6f 6e 66 69 67 22 20 22 73 70 65    63 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | b"."config"."spec")............. | 
| 29760 | 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 66 | ......................:project-f | 
| 29780 | 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 20 20 20 20 20 20 20 | ile."Gemfile"................... | 
| 297a0 | 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 62 75 6e 64 6c 65 | ................:compile."bundle | 
| 297c0 | 20 65 78 65 63 20 72 61 69 6c 73 20 73 65 72 76    65 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .exec.rails.server"............. | 
| 297e0 | 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 20 22 | ......................:src-dir." | 
| 29800 | 61 70 70 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 | app/"........................... | 
| 29820 | 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 20 72 73 70 65 63 | ........:test."bundle.exec.rspec | 
| 29840 | 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 | "............................... | 
| 29860 | 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 20 20 20 20 20 20 | ....:test-dir."spec/"........... | 
| 29880 | 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 | 
| 298a0 | 66 66 69 78 20 22 5f 73 70 65 63 22 29 0a 3b 3b    20 43 72 79 73 74 61 6c 0a 28 70 72 6f 6a 65 63 | ffix."_spec").;;.Crystal.(projec | 
| 298c0 | 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 63 72 79 73 | tile-register-project-type.'crys | 
| 298e0 | 74 61 6c 2d 73 70 65 63 20 27 28 22 73 68 61 72    64 2e 79 6d 6c 22 29 0a 20 20 20 20 20 20 20 20 | tal-spec.'("shard.yml")......... | 
| 29900 | 20 20 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 | 
| 29920 | 63 74 2d 66 69 6c 65 20 22 73 68 61 72 64 2e 79    6d 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ct-file."shard.yml"............. | 
| 29940 | 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 20 22 | ......................:src-dir." | 
| 29960 | 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 20 20 20 20 20 20 | src/"........................... | 
| 29980 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 63    72 79 73 74 61 6c 20 73 70 65 63 22 0a 20 20 20 | ........:test."crystal.spec".... | 
| 299a0 | 20 20 20 20 20 20 20 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 | ...............................: | 
| 299c0 | 74 65 73 74 2d 64 69 72 20 22 73 70 65 63 2f 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | test-dir."spec/"................ | 
| 299e0 | 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. | 
| 29a00 | 22 5f 73 70 65 63 22 29 0a 0a 3b 3b 20 45 6d 61    63 73 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 | "_spec")..;;.Emacs.(projectile-r | 
| 29a20 | 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d    74 79 70 65 20 27 65 6d 61 63 73 2d 63 61 73 6b | egister-project-type.'emacs-cask | 
| 29a40 | 20 27 28 22 43 61 73 6b 22 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .'("Cask")...................... | 
| 29a60 | 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 73 6b | .............:project-file."Cask | 
| 29a80 | 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 | "............................... | 
| 29aa0 | 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 63 61    73 6b 20 69 6e 73 74 61 6c 6c 22 0a 20 20 20 20 | ....:compile."cask.install"..... | 
| 29ac0 | 20 20 20 20 20 20 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 | 
| 29ae0 | 65 73 74 2d 70 72 65 66 69 78 20 22 74 65 73 74    2d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | est-prefix."test-".............. | 
| 29b00 | 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 66 69 | .....................:test-suffi | 
| 29b20 | 78 20 22 2d 74 65 73 74 22 29 0a 0a 28 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 | x."-test")..(projectile-register | 
| 29b40 | 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 65    6d 61 63 73 2d 65 61 73 6b 20 27 28 22 45 61 73 | -project-type.'emacs-eask.'("Eas | 
| 29b60 | 6b 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 | k")............................. | 
| 29b80 | 20 20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66    69 6c 65 20 22 45 61 73 6b 22 0a 20 20 20 20 20 | ......:project-file."Eask"...... | 
| 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 20 20 20 20 3a 63 6f | .............................:co | 
| 29bc0 | 6d 70 69 6c 65 20 22 65 61 73 6b 20 69 6e 73 74    61 6c 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 | mpile."eask.install"............ | 
| 29be0 | 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 70 72 65 | .......................:test-pre | 
| 29c00 | 66 69 78 20 22 74 65 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 | fix."test-"..................... | 
| 29c20 | 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 2d 74 65 73 | ..............:test-suffix."-tes | 
| 29c40 | 74 22 29 0a 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 | t")..(projectile-register-projec | 
| 29c60 | 74 2d 74 79 70 65 20 27 65 6d 61 63 73 2d 65 6c    64 65 76 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 | t-type.'emacs-eldev.#'projectile | 
| 29c80 | 2d 65 6c 64 65 76 2d 70 72 6f 6a 65 63 74 2d 70    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -eldev-project-p................ | 
| 29ca0 | 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 | 
| 29cc0 | 20 22 45 6c 64 65 76 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 | ."Eldev"........................ | 
| 29ce0 | 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70    69 6c 65 20 22 65 6c 64 65 76 20 63 6f 6d 70 69 | ...........:compile."eldev.compi | 
| 29d00 | 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 20 20 | le"............................. | 
| 29d20 | 20 20 20 20 20 20 3a 74 65 73 74 20 22 65 6c 64    65 76 20 74 65 73 74 22 0a 20 20 20 20 20 20 20 | ......:test."eldev.test"........ | 
| 29d40 | 20 20 20 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. | 
| 29d60 | 22 65 6c 64 65 76 20 65 6d 61 63 73 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "eldev.emacs"................... | 
| 29d80 | 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 22 65 6c 64 65 76 20 | ................:package."eldev. | 
| 29da0 | 70 61 63 6b 61 67 65 22 29 0a 0a 3b 3b 20 52 0a    28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 | package")..;;.R.(projectile-regi | 
| 29dc0 | 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 27 72 20 27 28 22 44 45 53 43 52 49 50 54 | ster-project-type.'r.'("DESCRIPT | 
| 29de0 | 49 4f 4e 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 | ION")........................... | 
| 29e00 | 20 20 20 20 20 20 20 20 3a 70 72 6f 6a 65 63 74    2d 66 69 6c 65 20 22 44 45 53 43 52 49 50 54 49 | ........:project-file."DESCRIPTI | 
| 29e20 | 4f 4e 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 | ON"............................. | 
| 29e40 | 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22    52 20 43 4d 44 20 49 4e 53 54 41 4c 4c 20 2d 2d | ......:compile."R.CMD.INSTALL.-- | 
| 29e60 | 77 69 74 68 2d 6b 65 65 70 2e 73 6f 75 72 63 65    20 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | with-keep.source.."............. | 
| 29e80 | 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 28 63 6f 6e | ......................:test.(con | 
| 29ea0 | 63 61 74 20 22 52 20 43 4d 44 20 63 68 65 63 6b    20 2d 6f 20 22 20 74 65 6d 70 6f 72 61 72 79 2d | cat."R.CMD.check.-o.".temporary- | 
| 29ec0 | 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 20 22    20 2e 22 29 29 0a 0a 3b 3b 20 48 61 73 6b 65 6c | file-directory.".."))..;;.Haskel | 
| 29ee0 | 6c 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 | l.(projectile-register-project-t | 
| 29f00 | 79 70 65 20 27 68 61 73 6b 65 6c 6c 2d 73 74 61    63 6b 20 27 28 22 73 74 61 63 6b 2e 79 61 6d 6c | ype.'haskell-stack.'("stack.yaml | 
| 29f20 | 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 | ").............................. | 
| 29f40 | 20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69    6c 65 20 22 73 74 61 63 6b 2e 79 61 6d 6c 22 0a | .....:project-file."stack.yaml". | 
| 29f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 29f80 | 20 20 3a 63 6f 6d 70 69 6c 65 20 22 73 74 61 63    6b 20 62 75 69 6c 64 22 0a 20 20 20 20 20 20 20 | ..:compile."stack.build"........ | 
| 29fa0 | 20 20 20 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 | 
| 29fc0 | 20 22 73 74 61 63 6b 20 62 75 69 6c 64 20 2d 2d    74 65 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 | ."stack.build.--test"........... | 
| 29fe0 | 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 | 
| 2a000 | 66 66 69 78 20 22 53 70 65 63 22 29 0a 0a 3b 3b    20 52 75 73 74 0a 28 70 72 6f 6a 65 63 74 69 6c | ffix."Spec")..;;.Rust.(projectil | 
| 2a020 | 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 73 74 2d 63 61 | e-register-project-type.'rust-ca | 
| 2a040 | 72 67 6f 20 27 28 22 43 61 72 67 6f 2e 74 6f 6d    6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | rgo.'("Cargo.toml")............. | 
| 2a060 | 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 66 | ......................:project-f | 
| 2a080 | 69 6c 65 20 22 43 61 72 67 6f 2e 74 6f 6d 6c 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ile."Cargo.toml"................ | 
| 2a0a0 | 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 63 61 72 | ...................:compile."car | 
| 2a0c0 | 67 6f 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 | go.build"....................... | 
| 2a0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73    74 20 22 63 61 72 67 6f 20 74 65 73 74 22 0a 20 | ............:test."cargo.test".. | 
| 2a100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2a120 | 20 3a 72 75 6e 20 22 63 61 72 67 6f 20 72 75 6e    22 29 0a 0a 3b 3b 20 52 61 63 6b 65 74 0a 28 70 | .:run."cargo.run")..;;.Racket.(p | 
| 2a140 | 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. | 
| 2a160 | 27 72 61 63 6b 65 74 20 27 28 22 69 6e 66 6f 2e    72 6b 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 | 'racket.'("info.rkt")........... | 
| 2a180 | 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 | 
| 2a1a0 | 2d 66 69 6c 65 20 22 69 6e 66 6f 2e 72 6b 74 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -file."info.rkt"................ | 
| 2a1c0 | 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 72 61 63 6f 20 74 | ...................:test."raco.t | 
| 2a1e0 | 65 73 74 20 2e 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 | est..".......................... | 
| 2a200 | 20 20 20 20 20 20 20 20 20 3a 69 6e 73 74 61 6c    6c 20 22 72 61 63 6f 20 70 6b 67 20 69 6e 73 74 | .........:install."raco.pkg.inst | 
| 2a220 | 61 6c 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 20 | all"............................ | 
| 2a240 | 20 20 20 20 20 20 20 3a 70 61 63 6b 61 67 65 20    22 72 61 63 6f 20 70 6b 67 20 63 72 65 61 74 65 | .......:package."raco.pkg.create | 
| 2a260 | 20 2d 2d 73 6f 75 72 63 65 20 24 28 70 77 64 29    22 29 0a 0a 3b 3b 20 44 61 72 74 0a 28 70 72 6f | .--source.$(pwd)")..;;.Dart.(pro | 
| 2a280 | 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 64 | jectile-register-project-type.'d | 
| 2a2a0 | 61 72 74 20 27 28 22 70 75 62 73 70 65 63 2e 79    61 6d 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 | art.'("pubspec.yaml")........... | 
| 2a2c0 | 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 | 
| 2a2e0 | 2d 66 69 6c 65 20 22 70 75 62 73 70 65 63 2e 79    61 6d 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 | -file."pubspec.yaml"............ | 
| 2a300 | 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. | 
| 2a320 | 22 70 75 62 20 67 65 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 | "pub.get"....................... | 
| 2a340 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73    74 20 22 70 75 62 20 72 75 6e 20 74 65 73 74 22 | ............:test."pub.run.test" | 
| 2a360 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2a380 | 20 20 20 3a 72 75 6e 20 22 64 61 72 74 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...:run."dart".................. | 
| 2a3a0 | 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."_ | 
| 2a3c0 | 74 65 73 74 2e 64 61 72 74 22 29 0a 0a 3b 3b 20    45 6c 6d 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d | test.dart")..;;.Elm.(projectile- | 
| 2a3e0 | 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 20 27 65 6c 6d 20 27 28 22 65 6c | register-project-type.'elm.'("el | 
| 2a400 | 6d 2e 6a 73 6f 6e 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 | m.json")........................ | 
| 2a420 | 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 65 6c 6d 2e 6a 73 | ...........:project-file."elm.js | 
| 2a440 | 6f 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 | on"............................. | 
| 2a460 | 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22    65 6c 6d 20 6d 61 6b 65 22 29 0a 0a 3b 3b 20 4a | ......:compile."elm.make")..;;.J | 
| 2a480 | 75 6c 69 61 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 | ulia.(projectile-register-projec | 
| 2a4a0 | 74 2d 74 79 70 65 20 27 6a 75 6c 69 61 20 27 28    22 50 72 6f 6a 65 63 74 2e 74 6f 6d 6c 22 29 0a | t-type.'julia.'("Project.toml"). | 
| 2a4c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2a4e0 | 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20    22 50 72 6f 6a 65 63 74 2e 74 6f 6d 6c 22 0a 20 | ..:project-file."Project.toml".. | 
| 2a500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2a520 | 20 3a 63 6f 6d 70 69 6c 65 20 22 6a 75 6c 69 61    20 2d 2d 70 72 6f 6a 65 63 74 3d 40 2e 20 2d 65 | .:compile."julia.--project=@..-e | 
| 2a540 | 20 27 69 6d 70 6f 72 74 20 50 6b 67 3b 20 50 6b    67 2e 70 72 65 63 6f 6d 70 69 6c 65 28 29 3b 20 | .'import.Pkg;.Pkg.precompile();. | 
| 2a560 | 50 6b 67 2e 62 75 69 6c 64 28 29 27 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Pkg.build()'"................... | 
| 2a580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 20 22 6a 75 6c 69 61 20 2d 2d 70 | ................:test."julia.--p | 
| 2a5a0 | 72 6f 6a 65 63 74 3d 40 2e 20 2d 65 20 27 69 6d    70 6f 72 74 20 50 6b 67 3b 20 50 6b 67 2e 74 65 | roject=@..-e.'import.Pkg;.Pkg.te | 
| 2a5c0 | 73 74 28 29 27 20 2d 2d 63 68 65 63 6b 2d 62 6f    75 6e 64 73 3d 79 65 73 22 0a 20 20 20 20 20 20 | st()'.--check-bounds=yes"....... | 
| 2a5e0 | 20 20 20 20 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 | 
| 2a600 | 2d 64 69 72 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 | -dir."src"...................... | 
| 2a620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65    73 74 2d 64 69 72 20 22 74 65 73 74 22 29 0a 0a | .............:test-dir."test").. | 
| 2a640 | 3b 3b 20 4f 43 61 6d 6c 0a 28 70 72 6f 6a 65 63    74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 | ;;.OCaml.(projectile-register-pr | 
| 2a660 | 6f 6a 65 63 74 2d 74 79 70 65 20 27 6f 63 61 6d    6c 2d 64 75 6e 65 20 27 28 22 64 75 6e 65 2d 70 | oject-type.'ocaml-dune.'("dune-p | 
| 2a680 | 72 6f 6a 65 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 | roject")........................ | 
| 2a6a0 | 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 75 6e 65 2d 70 | ...........:project-file."dune-p | 
| 2a6c0 | 72 6f 6a 65 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 | roject"......................... | 
| 2a6e0 | 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 69    6c 65 20 22 64 75 6e 65 20 62 75 69 6c 64 22 0a | ..........:compile."dune.build". | 
| 2a700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2a720 | 20 20 3a 74 65 73 74 20 22 64 75 6e 65 20 72 75    6e 74 65 73 74 22 29 0a 0a 3b 3b 20 5a 69 67 0a | ..:test."dune.runtest")..;;.Zig. | 
| 2a740 | 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 | 
| 2a760 | 65 20 27 7a 69 67 20 27 28 22 62 75 69 6c 64 2e    7a 69 67 2e 7a 6f 6e 22 29 0a 20 20 20 20 20 20 | e.'zig.'("build.zig.zon")....... | 
| 2a780 | 20 20 20 20 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 | ............................:pro | 
| 2a7a0 | 6a 65 63 74 2d 66 69 6c 65 20 22 62 75 69 6c 64    2e 7a 69 67 2e 7a 6f 6e 22 0a 20 20 20 20 20 20 | ject-file."build.zig.zon"....... | 
| 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 20 20 20 3a 63 6f 6d | ............................:com | 
| 2a7e0 | 70 69 6c 65 20 22 7a 69 67 20 62 75 69 6c 64 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pile."zig.build"................ | 
| 2a800 | 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 7a 69 67 20 62 75 | ...................:test."zig.bu | 
| 2a820 | 69 6c 64 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 | ild.test"....................... | 
| 2a840 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 75 6e    20 22 7a 69 67 20 62 75 69 6c 64 20 72 75 6e 22 | ............:run."zig.build.run" | 
| 2a860 | 29 0a 0a 3b 3b 20 53 77 69 66 74 0a 28 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 | )..;;.Swift.(projectile-register | 
| 2a880 | 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 73    77 69 66 74 2d 73 70 6d 20 27 28 22 50 61 63 6b | -project-type.'swift-spm.'("Pack | 
| 2a8a0 | 61 67 65 2e 73 77 69 66 74 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | age.swift")..................... | 
| 2a8c0 | 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 50 61 63 | ..............:project-file."Pac | 
| 2a8e0 | 6b 61 67 65 2e 73 77 69 66 74 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | kage.swift"..................... | 
| 2a900 | 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 77 69 66 74 20 62 75 | ..............:compile."swift.bu | 
| 2a920 | 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 20 | ild"............................ | 
| 2a940 | 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 73 77    69 66 74 20 74 65 73 74 22 0a 20 20 20 20 20 20 | .......:test."swift.test"....... | 
| 2a960 | 20 20 20 20 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 | 
| 2a980 | 20 22 73 77 69 66 74 20 72 75 6e 22 29 0a 0a 28    64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 70 72 6f | ."swift.run")..(defvar-local.pro | 
| 2a9a0 | 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 66 66 | jectile-project-type.nil..."Buff | 
| 2a9c0 | 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 65 20 | er.local.var.for.overriding.the. | 
| 2a9e0 | 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 72 6d | auto-detected.project.type..Norm | 
| 2aa00 | 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 6c 6f | ally.you'd.set.this.from..dir-lo | 
| 2aa20 | 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 6f 6a | cals.el.").(put.'projectile-proj | 
| 2aa40 | 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 23 27 | ect-type.'safe-local-variable.#' | 
| 2aa60 | 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 74 65 | symbolp)..(defun.projectile-dete | 
| 2aa80 | 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 29 0a | ct-project-type.(&optional.dir). | 
| 2aaa0 | 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 65 63 | .."Detect.the.type.of.the.projec | 
| 2aac0 | 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 74 65 | t..When.DIR.is.specified.it.dete | 
| 2aae0 | 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 65 20 | cts.its.project.type,.otherwise. | 
| 2ab00 | 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 2e 0a | it.acts.on.the.current.project.. | 
| 2ab20 | 0a 46 61 6c 6c 62 61 63 6b 20 74 6f 20 61 20 67    65 6e 65 72 69 63 20 70 72 6f 6a 65 63 74 20 74 | .Fallback.to.a.generic.project.t | 
| 2ab40 | 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 74 65 72 | ype.when.the.type.can't.be.deter | 
| 2ab60 | 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 0a 20 20 | mined."...(let.((project-type... | 
| 2ab80 | 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 20 20 20 | .......(or.(car.(cl-find-if..... | 
| 2aba0 | 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 63 74 2d | ...............(lambda.(project- | 
| 2abc0 | 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 20 20 20 | type-record).................... | 
| 2abe0 | 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 6f 6a 65 | ..(let.((project-type.(car.proje | 
| 2ac00 | 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 20 20 20 | ct-type-record))................ | 
| 2ac20 | 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 74 20 28 | ............(marker.(plist-get.( | 
| 2ac40 | 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 6b 65 72 | cdr.project-type-record).'marker | 
| 2ac60 | 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 20 20 20 | -files)))....................... | 
| 2ac80 | 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 20 20 20 | .(if.(functionp.marker)......... | 
| 2aca0 | 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 61 6c 6c | ...................(and.(funcall | 
| 2acc0 | 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 20 20 20 | .marker.dir).project-type)...... | 
| 2ace0 | 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 6a 65 63 | ....................(and.(projec | 
| 2ad00 | 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 20 70 72 | tile-verify-files.marker.dir).pr | 
| 2ad20 | 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 20 20 20 | oject-type)))).................. | 
| 2ad40 | 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 20 20 20 | ..projectile-project-types)).... | 
| 2ad60 | 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 74 68 61 | ..........'generic))).....(putha | 
| 2ad80 | 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 69 72 29 | sh.(projectile-project-root.dir) | 
| 2ada0 | 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 65 63 74 | .project-type.projectile-project | 
| 2adc0 | 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 29 29 0a | -type-cache).....project-type)). | 
| 2ade0 | 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 70 65 20 | .(defun.projectile-project-type. | 
| 2ae00 | 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 61 20 70 | (&optional.dir)..."Determine.a.p | 
| 2ae20 | 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 72 75 63 | roject's.type.based.on.its.struc | 
| 2ae40 | 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 74 20 63 | ture..When.DIR.is.specified.it.c | 
| 2ae60 | 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 6e 20 74 | hecks.it,.otherwise.it.acts.on.t | 
| 2ae80 | 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 65 63 74 | he.current.project...The.project | 
| 2aea0 | 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 70 65 72 | .type.is.cached.for.improved.per | 
| 2aec0 | 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 72 29 20 | formance."...(or.(and.(not.dir). | 
| 2aee0 | 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 20 20 28 | projectile-project-type).......( | 
| 2af00 | 69 66 2d 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 69 | if-let*.((project-root.(projecti | 
| 2af20 | 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 20 20 | le-project-root.dir))).......... | 
| 2af40 | 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 6a 65 | .(or.(gethash.project-root.proje | 
| 2af60 | 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 20 20 | ctile-project-type-cache)....... | 
| 2af80 | 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 6a 65 | ........(projectile-detect-proje | 
| 2afa0 | 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 61 64 | ct-type.dir)))))..;;;###autoload | 
| 2afc0 | 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 6f 20 | .(defun.projectile-project-info. | 
| 2afe0 | 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 20 70 | ()..."Display.info.for.current.p | 
| 2b000 | 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 73 73 | roject."...(interactive)...(mess | 
| 2b020 | 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 74 20 | age."Project.dir:.%s.##.Project. | 
| 2b040 | 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 20 20 | VCS:.%s.##.Project.type:.%s".... | 
| 2b060 | 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 6f 74 | ........(projectile-acquire-root | 
| 2b080 | 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 63 74 | )............(projectile-project | 
| 2b0a0 | 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 72 6f | -vcs)............(projectile-pro | 
| 2b0c0 | 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 65 2d | ject-type)))..(defun.projectile- | 
| 2b0e0 | 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 64 69 | verify-files.(files.&optional.di | 
| 2b100 | 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 65 78 | r)..."Check.whether.all.FILES.ex | 
| 2b120 | 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 73 20 | ist.in.the.project..When.DIR.is. | 
| 2b140 | 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 65 63 | specified.it.checks.DIR's.projec | 
| 2b160 | 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 72 72 | t,.otherwise.it.acts.on.the.curr | 
| 2b180 | 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 61 6d | ent.project."...(cl-every.#'(lam | 
| 2b1a0 | 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 66 69 | bda.(file).(projectile-verify-fi | 
| 2b1c0 | 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 70 72 | le.file.dir)).files))..(defun.pr | 
| 2b1e0 | 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 74 69 | ojectile-verify-file.(file.&opti | 
| 2b200 | 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 45 20 | onal.dir)..."Check.whether.FILE. | 
| 2b220 | 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 0a 57 | exists.in.the.current.project..W | 
| 2b240 | 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 20 44 | hen.DIR.is.specified.it.checks.D | 
| 2b260 | 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 73 20 | IR's.project,.otherwise.it.acts. | 
| 2b280 | 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 6c 65 | on.the.current.project."...(file | 
| 2b2a0 | 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 6f 6f | -exists-p.(projectile-expand-roo | 
| 2b2c0 | 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 6c 65 | t.file.dir)))..(defun.projectile | 
| 2b2e0 | 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 70 74 | -verify-file-wildcard.(file.&opt | 
| 2b300 | 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 45 | ional.dir)..."Check.whether.FILE | 
| 2b320 | 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 0a | .exists.in.the.current.project.. | 
| 2b340 | 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 20 | When.DIR.is.specified.it.checks. | 
| 2b360 | 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 73 | DIR's.project,.otherwise.it.acts | 
| 2b380 | 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 64 73 | .on.the.current.project..Expands | 
| 2b3a0 | 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 77 69 | .wildcards.using.`file-expand-wi | 
| 2b3c0 | 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 66 69 | ldcards'.before.checking."...(fi | 
| 2b3e0 | 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 65 2d | le-expand-wildcards.(projectile- | 
| 2b400 | 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 6e 20 | expand-root.file.dir)))..(defun. | 
| 2b420 | 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 6e 61 | projectile-project-vcs.(&optiona | 
| 2b440 | 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 68 65 | l.project-root)..."Determine.the | 
| 2b460 | 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 79 2e | .VCS.used.by.the.project.if.any. | 
| 2b480 | 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 64 69 | .PROJECT-ROOT.is.the.targeted.di | 
| 2b4a0 | 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 61 62 | rectory...If.nil,.use.the.variab | 
| 2b4c0 | 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 0a 20 | le.`projectile-project-root'.".. | 
| 2b4e0 | 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 74 2d | .(or.project-root.(setq.project- | 
| 2b500 | 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 29 29 | root.(projectile-acquire-root))) | 
| 2b520 | 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 66 6f | ...(cond....;;.first.we.check.fo | 
| 2b540 | 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 72 6f | r.a.VCS.marker.in.the.project.ro | 
| 2b560 | 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 2d 65 | ot.itself....((projectile-file-e | 
| 2b580 | 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 74 22 | xists-p.(expand-file-name.".git" | 
| 2b5a0 | 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 6a 65 | .project-root)).'git)....((proje | 
| 2b5c0 | 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 | 
| 2b5e0 | 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 29 0a | -name.".hg".project-root)).'hg). | 
| 2b600 | 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 28 65 | ...((projectile-file-exists-p.(e | 
| 2b620 | 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 6f 6a | xpand-file-name.".fslckout".proj | 
| 2b640 | 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 63 74 | ect-root)).'fossil)....((project | 
| 2b660 | 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 6e | ile-file-exists-p.(expand-file-n | 
| 2b680 | 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 27 66 | ame."_FOSSIL_".project-root)).'f | 
| 2b6a0 | 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 69 73 | ossil)....((projectile-file-exis | 
| 2b6c0 | 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 70 72 | ts-p.(expand-file-name.".bzr".pr | 
| 2b6e0 | 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 74 69 | oject-root)).'bzr)....((projecti | 
| 2b700 | 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 6e 61 | le-file-exists-p.(expand-file-na | 
| 2b720 | 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 72 63 | me."_darcs".project-root)).'darc | 
| 2b740 | 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 2d 70 | s)....((projectile-file-exists-p | 
| 2b760 | 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 6f 6a | .(expand-file-name.".pijul".proj | 
| 2b780 | 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 74 69 | ect-root)).'pijul)....((projecti | 
| 2b7a0 | 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 6e 61 | le-file-exists-p.(expand-file-na | 
| 2b7c0 | 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 0a 20 | me.".svn".project-root)).'svn).. | 
| 2b7e0 | 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 28 65 78 | ..((projectile-file-exists-p.(ex | 
| 2b800 | 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22    2e 73 6c 22 20 70 72 6f 6a 65 63 74 2d 72 6f 6f | pand-file-name.".sl".project-roo | 
| 2b820 | 74 29 29 20 27 73 61 70 6c 69 6e 67 29 0a 20 20    20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 | t)).'sapling)....((projectile-fi | 
| 2b840 | 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 6e 61 6d 65 20 22 2e | le-exists-p.(expand-file-name.". | 
| 2b860 | 6a 6a 22 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    29 29 20 27 6a 6a 29 0a 20 20 20 3b 3b 20 74 68 | jj".project-root)).'jj)....;;.th | 
| 2b880 | 65 6e 20 77 65 20 63 68 65 63 6b 20 69 66 20 74    68 65 72 65 27 73 20 61 20 56 43 53 20 6d 61 72 | en.we.check.if.there's.a.VCS.mar | 
| 2b8a0 | 6b 65 72 20 75 70 20 74 68 65 20 64 69 72 65 63    74 6f 72 79 20 74 72 65 65 0a 20 20 20 3b 3b 20 | ker.up.the.directory.tree....;;. | 
| 2b8c0 | 74 68 61 74 20 63 6f 76 65 72 73 20 74 68 65 20    63 61 73 65 20 77 68 65 6e 20 61 20 70 72 6f 6a | that.covers.the.case.when.a.proj | 
| 2b8e0 | 65 63 74 20 69 73 20 70 61 72 74 20 6f 66 20 61    20 6d 75 6c 74 69 2d 70 72 6f 6a 65 63 74 20 72 | ect.is.part.of.a.multi-project.r | 
| 2b900 | 65 70 6f 73 69 74 6f 72 79 0a 20 20 20 3b 3b 20    69 6e 20 74 68 6f 73 65 20 63 61 73 65 73 20 79 | epository....;;.in.those.cases.y | 
| 2b920 | 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 74 68 65    20 56 43 53 20 74 6f 20 67 65 74 20 61 20 6c 69 | ou.can.still.the.VCS.to.get.a.li | 
| 2b940 | 73 74 20 6f 66 20 66 69 6c 65 73 20 66 6f 72 0a    20 20 20 3b 3b 20 74 68 65 20 70 72 6f 6a 65 63 | st.of.files.for....;;.the.projec | 
| 2b960 | 74 20 69 6e 20 71 75 65 73 74 69 6f 6e 0a 20 20    20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6c 6f | t.in.question....((projectile-lo | 
| 2b980 | 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 | 
| 2b9a0 | 74 20 22 2e 67 69 74 22 29 20 27 67 69 74 29 0a    20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d | t.".git").'git)....((projectile- | 
| 2b9c0 | 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 63 74 2d 72 | locate-dominating-file.project-r | 
| 2b9e0 | 6f 6f 74 20 22 2e 68 67 22 29 20 27 68 67 29 0a    20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d | oot.".hg").'hg)....((projectile- | 
| 2ba00 | 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 63 74 2d 72 | locate-dominating-file.project-r | 
| 2ba20 | 6f 6f 74 20 22 2e 66 73 6c 63 6b 6f 75 74 22 29    20 27 66 6f 73 73 69 6c 29 0a 20 20 20 28 28 70 | oot.".fslckout").'fossil)....((p | 
| 2ba40 | 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 | 
| 2ba60 | 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 22 5f    46 4f 53 53 49 4c 5f 22 29 20 27 66 6f 73 73 69 | .project-root."_FOSSIL_").'fossi | 
| 2ba80 | 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 | 
| 2baa0 | 74 69 6e 67 2d 66 69 6c 65 20 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 20 22 2e 62 7a 72 22 29 20 27 | ting-file.project-root.".bzr").' | 
| 2bac0 | 62 7a 72 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 | bzr)....((projectile-locate-domi | 
| 2bae0 | 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 22 5f 64 61 72 63 73 | nating-file.project-root."_darcs | 
| 2bb00 | 22 29 20 27 64 61 72 63 73 29 0a 20 20 20 28 28    70 72 6f 6a 65 63 74 69 6c 65 2d 6c 6f 63 61 74 | ").'darcs)....((projectile-locat | 
| 2bb20 | 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 22 | e-dominating-file.project-root." | 
| 2bb40 | 2e 70 69 6a 75 6c 22 29 20 27 70 69 6a 75 6c 29    0a 20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c 65 | .pijul").'pijul)....((projectile | 
| 2bb60 | 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 63 74 2d | -locate-dominating-file.project- | 
| 2bb80 | 72 6f 6f 74 20 22 2e 73 76 6e 22 29 20 27 73 76    6e 29 0a 20 20 20 28 28 70 72 6f 6a 65 63 74 69 | root.".svn").'svn)....((projecti | 
| 2bba0 | 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 63 | le-locate-dominating-file.projec | 
| 2bbc0 | 74 2d 72 6f 6f 74 20 22 2e 73 6c 22 29 20 27 73    61 70 6c 69 6e 67 29 0a 20 20 20 28 28 70 72 6f | t-root.".sl").'sapling)....((pro | 
| 2bbe0 | 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 70 | jectile-locate-dominating-file.p | 
| 2bc00 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 22 2e 6a 6a    22 29 20 27 6a 6a 29 0a 20 20 20 28 74 20 27 6e | roject-root.".jj").'jj)....(t.'n | 
| 2bc20 | 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 65 73 74 2d | one)))..(defun.projectile--test- | 
| 2bc40 | 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 65 2d 70 61 | name-for-impl-name.(impl-file-pa | 
| 2bc60 | 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 20 74 68 65 | th)..."Determine.the.name.of.the | 
| 2bc80 | 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 48 2e 0a 0a | .test.file.for.IMPL-FILE-PATH... | 
| 2bca0 | 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 6c 75 74 65 | IMPL-FILE-PATH.may.be.a.absolute | 
| 2bcc0 | 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 6c 65 20 6e | .path,.relative.path.or.a.file.n | 
| 2bce0 | 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 20 28 70 72 | ame."...(let*.((project-type.(pr | 
| 2bd00 | 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 20 20 20 20 | ojectile-project-type))......... | 
| 2bd20 | 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 73 61 6e 73 | .(impl-file-name.(file-name-sans | 
| 2bd40 | 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 | 
| 2bd60 | 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 20 20 28 69 | ry.impl-file-path)))..........(i | 
| 2bd80 | 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 6e 73 69 6f | mpl-file-ext.(file-name-extensio | 
| 2bda0 | 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 28 74 65 73 | n.impl-file-path))..........(tes | 
| 2bdc0 | 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 2d 74 65 73 | t-prefix.(funcall.projectile-tes | 
| 2bde0 | 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 70 65 29 29 | t-prefix-function.project-type)) | 
| 2be00 | 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 61 6c 6c 20 | ..........(test-suffix.(funcall. | 
| 2be20 | 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 20 | projectile-test-suffix-function. | 
| 2be40 | 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 20 20 20 28 | project-type))).....(cond......( | 
| 2be60 | 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 78 20 | test-prefix.(concat.test-prefix. | 
| 2be80 | 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 2d 65 78 74 | impl-file-name.".".impl-file-ext | 
| 2bea0 | 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 20 69 6d 70 | ))......(test-suffix.(concat.imp | 
| 2bec0 | 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 69 6d 70 6c | l-file-name.test-suffix.".".impl | 
| 2bee0 | 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 43 61 6e 6e | -file-ext))......(t.(error."Cann | 
| 2bf00 | 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 65 2c 20 6f | ot.determine.a.test.file.name,.o | 
| 2bf20 | 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 65 73 74 2d | ne.of.\"test-suffix\".or.\"test- | 
| 2bf40 | 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 6a 65 63 74 | prefix\".must.be.set.for.project | 
| 2bf60 | 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 29 0a 0a 28 | .type.`%s'".project-type)))))..( | 
| 2bf80 | 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 66 6f 72 2d | defun.projectile--impl-name-for- | 
| 2bfa0 | 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 20 22 44 65 | test-name.(test-file-path)..."De | 
| 2bfc0 | 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 65 6d 65 6e | termine.the.name.of.the.implemen | 
| 2bfe0 | 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 54 48 2e 0a | tation.file.for.TEST-FILE-PATH.. | 
| 2c000 | 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 6f 6c 75 74 | .TEST-FILE-PATH.may.be.a.absolut | 
| 2c020 | 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 6c 65 20 | e.path,.relative.path.or.a.file. | 
| 2c040 | 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 20 28 70 | name."...(let*.((project-type.(p | 
| 2c060 | 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 20 20 20 | rojectile-project-type))........ | 
| 2c080 | 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 2d 73 61 6e | ..(test-file-name.(file-name-san | 
| 2c0a0 | 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 65 63 74 | s-extension.(file-name-nondirect | 
| 2c0c0 | 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 20 20 20 28 | ory.test-file-path)))..........( | 
| 2c0e0 | 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 65 6e 73 69 | test-file-ext.(file-name-extensi | 
| 2c100 | 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 20 28 74 65 | on.test-file-path))..........(te | 
| 2c120 | 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 2d 74 65 | st-prefix.(funcall.projectile-te | 
| 2c140 | 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 70 65 29 | st-prefix-function.project-type) | 
| 2c160 | 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 61 6c 6c | )..........(test-suffix.(funcall | 
| 2c180 | 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 69 6f 6e | .projectile-test-suffix-function | 
| 2c1a0 | 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 20 20 20 | .project-type))).....(cond...... | 
| 2c1c0 | 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 73 74 72 69 | (test-prefix.......(concat.(stri | 
| 2c1e0 | 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 20 74 65 73 | ng-remove-prefix.test-prefix.tes | 
| 2c200 | 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 78 74 29 29 | t-file-name).".".test-file-ext)) | 
| 2c220 | 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 6e 63 61 74 | ......(test-suffix.......(concat | 
| 2c240 | 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 73 75 66 66 | .(string-remove-suffix.test-suff | 
| 2c260 | 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 66 69 6c 65 | ix.test-file-name).".".test-file | 
| 2c280 | 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 74 20 64 65 | -ext))......(t.(error."Cannot.de | 
| 2c2a0 | 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 6c 65 20 6e | termine.an.implementation.file.n | 
| 2c2c0 | 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 6f 72 20 5c | ame,.one.of.\"test-suffix\".or.\ | 
| 2c2e0 | 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 6f 72 20 70 | "test-prefix\".must.be.set.for.p | 
| 2c300 | 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 70 65 29 29 | roject.type.`%s'".project-type)) | 
| 2c320 | 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 74 6f 2d | )))..(defun.projectile--test-to- | 
| 2c340 | 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 52 65 74 75 | impl-dir.(test-dir-path)..."Retu | 
| 2c360 | 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 69 6d 70 6c | rn.the.directory.path.of.an.impl | 
| 2c380 | 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 2d 44 49 52 | .file.with.test.file.in.TEST-DIR | 
| 2c3a0 | 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 75 72 72 65 | -PATH...Occurrences.of.the.curre | 
| 2c3c0 | 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 72 6f 70 65 | nt.project.type's.test-dir.prope | 
| 2c3e0 | 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 67 29 20 61 | rty.(which.should.be.a.string).a | 
| 2c400 | 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 20 70 72 6f | re.replaced.with.the.current.pro | 
| 2c420 | 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 0a 20 28 77 | ject.type's.src-dir.property..(w | 
| 2c440 | 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 6f 62 74 61 | hich.should.be.a.string).to.obta | 
| 2c460 | 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 73 20 72 65 | in.the.new.directory...Nil.is.re | 
| 2c480 | 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 20 6f 72 20 | turned.if.either.the.src-dir.or. | 
| 2c4a0 | 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 73 74 72 69 | test-dir.properties.are.not.stri | 
| 2c4c0 | 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 20 28 70 72 | ngs."...(let*.((project-type.(pr | 
| 2c4e0 | 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 20 20 20 20 | ojectile-project-type))......... | 
| 2c500 | 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 64 69 72 65 | .(test-dir.(projectile-test-dire | 
| 2c520 | 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 20 20 28 69 | ctory.project-type))..........(i | 
| 2c540 | 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 63 74 6f 72 | mpl-dir.(projectile-src-director | 
| 2c560 | 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 28 61 6e 64 | y.project-type))).....(when.(and | 
| 2c580 | 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 20 69 6d 70 | .(stringp.test-dir).(stringp.imp | 
| 2c5a0 | 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 6e 67 2d 6d | l-dir)).......(if.(not.(string-m | 
| 2c5c0 | 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 69 72 65 63 | atch-p.test-dir.(file-name-direc | 
| 2c5e0 | 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 20 20 20 20 | tory.test-dir-path)))........... | 
| 2c600 | 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 69 6d 70 6c | (error."Attempted.to.find.a.impl | 
| 2c620 | 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 20 74 68 69 | ementation.file.by.switching.thi | 
| 2c640 | 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 69 72 20 70 | s.project.type's.(%s).test-dir.p | 
| 2c660 | 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 6a 65 63 74 | roperty.\"%s\".with.this.project | 
| 2c680 | 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 73 5c 22 2c | .type's.src-dir.property.\"%s\", | 
| 2c6a0 | 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 73 5c 22 22 | .but.%s.does.not.contain.\"%s\"" | 
| 2c6c0 | 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 70 65 20 74 | ..................project-type.t | 
| 2c6e0 | 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 74 68 20 74 | est-dir.impl-dir.test-dir-path.t | 
| 2c700 | 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 2d 63 6f 6d | est-dir).........(projectile-com | 
| 2c720 | 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 20 74 65 73 | plementary-dir.test-dir-path.tes | 
| 2c740 | 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 70 72 6f 6a | t-dir.impl-dir)))))..(defun.proj | 
| 2c760 | 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 6c 62 61 63 | ectile--impl-to-test-dir-fallbac | 
| 2c780 | 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 74 68 65 20 | k.(impl-dir-path)..."Return.the. | 
| 2c7a0 | 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 62 79 20 67 | test.file.for.IMPL-DIR-PATH.by.g | 
| 2c7c0 | 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 63 63 75 72 | uessing.a.test.directory...Occur | 
| 2c7e0 | 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 66 61 75 6c | rences.of.the.`projectile-defaul | 
| 2c800 | 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 63 74 6f 72 | t-src-directory'.in.the.director | 
| 2c820 | 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 63 65 64 20 | y.of.IMPL-DIR-PATH.are.replaced. | 
| 2c840 | 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 74 2d 64 69 | with.`projectile-default-test-di | 
| 2c860 | 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 66 20 60 70 | rectory'...Nil.is.returned.if.`p | 
| 2c880 | 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 6f 72 79 27 | rojectile-default-src-directory' | 
| 2c8a0 | 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 44 49 52 2d | .is.not.a.substring.of.IMPL-DIR- | 
| 2c8c0 | 50 41 54 48 2e 22 0a 20 20 28 77 68 65 6e 2d 6c    65 74 2a 20 28 28 66 69 6c 65 20 28 70 72 6f 6a | PATH."...(when-let*.((file.(proj | 
| 2c8e0 | 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 20 20 20 | ectile--complementary-file...... | 
| 2c900 | 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 20 20 20 | ...............impl-dir-path.... | 
| 2c920 | 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 20 20 20 | .................(lambda.(f).... | 
| 2c940 | 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 69 6e 67 | ...................(when.(string | 
| 2c960 | 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 72 63 2d | -match-p.projectile-default-src- | 
| 2c980 | 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 20 20 20 | directory.f).................... | 
| 2c9a0 | 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 79 2d 64 | .....(projectile-complementary-d | 
| 2c9c0 | 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 6d 70 6c | ir..........................impl | 
| 2c9e0 | 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 20 20 20 | -dir-path....................... | 
| 2ca00 | 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 63 74 | ...projectile-default-src-direct | 
| 2ca20 | 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 70 72 6f | ory..........................pro | 
| 2ca40 | 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 79 29 29 | jectile-default-test-directory)) | 
| 2ca60 | 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 63 74 69 | ).....................#'projecti | 
| 2ca80 | 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 29 0a 20 | le--test-name-for-impl-name))).. | 
| 2caa0 | 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 70 72 6f | ...(file-relative-name.file.(pro | 
| 2cac0 | 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 66 75 6e | jectile-project-root))))..(defun | 
| 2cae0 | 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 2d 66 61 | .projectile--test-to-impl-dir-fa | 
| 2cb00 | 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 75 72 6e | llback.(test-dir-path)..."Return | 
| 2cb20 | 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 41 54 48 | .the.impl.file.for.TEST-DIR-PATH | 
| 2cb40 | 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 72 79 2e | .by.guessing.a.source.directory. | 
| 2cb60 | 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 64 65 66 | ..Occurrences.of.`projectile-def | 
| 2cb80 | 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 69 72 65 | ault-test-directory'.in.the.dire | 
| 2cba0 | 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 70 6c 61 | ctory.of.TEST-DIR-PATH.are.repla | 
| 2cbc0 | 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 73 72 63 | ced.with.`projectile-default-src | 
| 2cbe0 | 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 66 | -directory'...Nil.is.returned.if | 
| 2cc00 | 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 65 63 74 | .`projectile-default-test-direct | 
| 2cc20 | 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 53 54 2d | ory'.is.not.a.substring.of.TEST- | 
| 2cc40 | 44 49 52 2d 50 41 54 48 2e 22 0a 20 20 28 77 68    65 6e 2d 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 | DIR-PATH."...(when-let*.((file.( | 
| 2cc60 | 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 0a 20 | projectile--complementary-file.. | 
| 2cc80 | 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 74 68 | ...................test-dir-path | 
| 2cca0 | 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 66 29 | .....................(lambda.(f) | 
| 2ccc0 | 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 73 74 | .......................(when.(st | 
| 2cce0 | 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 74 2d | ring-match-p.projectile-default- | 
| 2cd00 | 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 20 20 | test-directory.f)............... | 
| 2cd20 | 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 6e 74 | ..........(projectile-complement | 
| 2cd40 | 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 20 20 | ary-dir......................... | 
| 2cd60 | 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 20 20 | .test-dir-path.................. | 
| 2cd80 | 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 74 2d | ........projectile-default-test- | 
| 2cda0 | 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | directory....................... | 
| 2cdc0 | 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 63 74 | ...projectile-default-src-direct | 
| 2cde0 | 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 72 6f | ory))).....................#'pro | 
| 2ce00 | 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 6d 65 | jectile--impl-name-for-test-name | 
| 2ce20 | 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 6c 65 | ))).....(file-relative-name.file | 
| 2ce40 | 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 28 | .(projectile-project-root))))..( | 
| 2ce60 | 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 2d 64 | defun.projectile--impl-to-test-d | 
| 2ce80 | 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 68 65 | ir.(impl-dir-path)..."Return.the | 
| 2cea0 | 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 65 20 | .directory.path.of.a.test.whose. | 
| 2cec0 | 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 50 41 | impl.file.resides.in.IMPL-DIR-PA | 
| 2cee0 | 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 74 20 | TH...Occurrences.of.the.current. | 
| 2cf00 | 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 20 | project.type's.src-dir.property. | 
| 2cf20 | 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 20 72 | (which.should.be.a.string).are.r | 
| 2cf40 | 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 63 74 | eplaced.with.the.current.project | 
| 2cf60 | 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 69 63 | .type's.test-dir.property..(whic | 
| 2cf80 | 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 6e 20 | h.should.be.a.string).to.obtain. | 
| 2cfa0 | 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 2d 64 | the.new.directory...If.the.src-d | 
| 2cfc0 | 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 52 2d | ir.property.is.set.and.IMPL-DIR- | 
| 2cfe0 | 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 62 73 | PATH.does.not.contain.(as.a.subs | 
| 2d000 | 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 20 74 | tring).the.src-dir.property.of.t | 
| 2d020 | 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 72 6f | he.current.project.type,.an.erro | 
| 2d040 | 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 65 64 | r.is.signalled...Nil.is.returned | 
| 2d060 | 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 2d 64 | .if.either.the.src-dir.or.test-d | 
| 2d080 | 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 22 0a | ir.properties.are.not.strings.". | 
| 2d0a0 | 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 74 69 | ..(let*.((project-type.(projecti | 
| 2d0c0 | 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 73 74 | le-project-type))..........(test | 
| 2d0e0 | 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 79 20 | -dir.(projectile-test-directory. | 
| 2d100 | 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 64 69 | project-type))..........(impl-di | 
| 2d120 | 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 6f 6a | r.(projectile-src-directory.proj | 
| 2d140 | 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 72 69 | ect-type))).....(when.(and.(stri | 
| 2d160 | 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 72 29 | ngp.test-dir).(stringp.impl-dir) | 
| 2d180 | 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 2d 70 | ).......(if.(not.(string-match-p | 
| 2d1a0 | 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 20 69 | .impl-dir.(file-name-directory.i | 
| 2d1c0 | 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 6f 72 | mpl-dir-path)))...........(error | 
| 2d1e0 | 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 65 20 | ."Attempted.to.find.a.test.file. | 
| 2d200 | 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 27 73 | by.switching.this.project.type's | 
| 2d220 | 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 77 69 | .(%s).src-dir.property.\"%s\".wi | 
| 2d240 | 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 72 20 | th.this.project.type's.test-dir. | 
| 2d260 | 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 6f 74 | property.\"%s\",.but.%s.does.not | 
| 2d280 | 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 20 20 | .contain.\"%s\""................ | 
| 2d2a0 | 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 69 72 | ..project-type.impl-dir.test-dir | 
| 2d2c0 | 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 20 20 | .impl-dir-path.impl-dir)........ | 
| 2d2e0 | 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 20 69 | .(projectile-complementary-dir.i | 
| 2d300 | 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 29 29 | mpl-dir-path.impl-dir.test-dir)) | 
| 2d320 | 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 65 6e | )))..(defun.projectile-complemen | 
| 2d340 | 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 61 63 | tary-dir.(dir-path.string.replac | 
| 2d360 | 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 65 6e | ement)..."Return.the.\"complemen | 
| 2d380 | 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 52 65 | tary\".directory.of.DIR-PATH..Re | 
| 2d3a0 | 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 52 45 | place.STRING.in.DIR-PATH.with.RE | 
| 2d3c0 | 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 72 6f | PLACEMENT."...(let*.((project-ro | 
| 2d3e0 | 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 20 20 | ot.(projectile-project-root))... | 
| 2d400 | 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 65 2d | .......(relative-dir.(file-name- | 
| 2d420 | 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 64 69 | directory.(file-relative-name.di | 
| 2d440 | 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 72 6f | r-path.project-root)))).....(pro | 
| 2d460 | 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 44 4f | jectile-expand-root......;;.TODO | 
| 2d480 | 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 61 72 | :.Use.string-replace.once.we.tar | 
| 2d4a0 | 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 65 78 | get.emacs.28......(replace-regex | 
| 2d4c0 | 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 20 72 | p-in-string.string.replacement.r | 
| 2d4e0 | 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 65 63 | elative-dir.t))))..(defun.projec | 
| 2d500 | 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 70 61 | tile--create-directories-for.(pa | 
| 2d520 | 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 73 73 | th)..."Create.directories.necess | 
| 2d540 | 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 2d 65 | ary.for.PATH."...(unless.(file-e | 
| 2d560 | 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 6f 72 | xists-p.path).....(make-director | 
| 2d580 | 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 20 20 | y.(if.(file-directory-p.path)... | 
| 2d5a0 | 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 20 20 | ......................path...... | 
| 2d5c0 | 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 72 65 | .................(file-name-dire | 
| 2d5e0 | 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 20 20 | ctory.path)).................... | 
| 2d600 | 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 6f 6a | .:create-parents)))..(defun.proj | 
| 2d620 | 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 65 | ectile-find-implementation-or-te | 
| 2d640 | 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 2d 4e | st.(file-name)..."Given.a.FILE-N | 
| 2d660 | 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 65 6e | AME.return.the.matching.implemen | 
| 2d680 | 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 70 72 | tation.or.test.filename...If.`pr | 
| 2d6a0 | 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 69 6c | ojectile-create-missing-test-fil | 
| 2d6c0 | 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 73 69 | es'.is.non-nil,.create.the.missi | 
| 2d6e0 | 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 6e 61 | ng.test.file."...(unless.file-na | 
| 2d700 | 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 69 73 | me.(error."The.current.buffer.is | 
| 2d720 | 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 65 73 | .not.visiting.a.file"))...(unles | 
| 2d740 | 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 72 6f | s.(projectile-project-type).(pro | 
| 2d760 | 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 20 28 | jectile-ensure-project.nil))...( | 
| 2d780 | 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 65 2d | if.(projectile-test-file-p.file- | 
| 2d7a0 | 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 6e 67 | name).......;;.find.the.matching | 
| 2d7c0 | 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 69 6c | .impl.file.......(let.((impl-fil | 
| 2d7e0 | 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 6c 65 | e.(projectile-find-matching-file | 
| 2d800 | 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 2d 66 | .file-name))).........(if.impl-f | 
| 2d820 | 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 70 61 | ile.............(projectile-expa | 
| 2d840 | 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 65 72 | nd-root.impl-file)...........(er | 
| 2d860 | 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 75 72 | ror............"No.matching.sour | 
| 2d880 | 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 20 60 | ce.file.found.for.project.type.` | 
| 2d8a0 | 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 6f 6a | %s'"............(projectile-proj | 
| 2d8c0 | 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 61 74 | ect-type)))).....;;.find.the.mat | 
| 2d8e0 | 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 72 6f | ching.test.file.....(let*.((erro | 
| 2d900 | 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 20 20 | r-msg.(format................... | 
| 2d920 | 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 75 6e | ....."No.matching.test.file.foun | 
| 2d940 | 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 20 20 | d.for.project.type.`%s'"........ | 
| 2d960 | 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 6f 6a | ................(projectile-proj | 
| 2d980 | 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 69 6c | ect-type)))............(test-fil | 
| 2d9a0 | 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 67 2d | e.(or.(projectile-find-matching- | 
| 2d9c0 | 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 20 20 | test.file-name)................. | 
| 2d9e0 | 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 20 20 | ..........(error.error-msg)))... | 
| 2da00 | 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 70 72 | .........(expanded-test-file.(pr | 
| 2da20 | 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 29 29 | ojectile-expand-root.test-file)) | 
| 2da40 | 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 65 78 | ).......(cond.((file-exists-p.ex | 
| 2da60 | 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 74 2d | panded-test-file).expanded-test- | 
| 2da80 | 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 63 72 | file).............(projectile-cr | 
| 2daa0 | 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 20 20 | eate-missing-test-files......... | 
| 2dac0 | 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 74 6f | .....(projectile--create-directo | 
| 2dae0 | 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 20 20 | ries-for.expanded-test-file).... | 
| 2db00 | 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 20 20 | ..........expanded-test-file)... | 
| 2db20 | 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 64 20 | ..........(t.(error."Determined. | 
| 2db40 | 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 64 6f | test.file.to.be.\"%s\",.which.do | 
| 2db60 | 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 2d 63 | es.not.exist...Set.`projectile-c | 
| 2db80 | 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 6c 6c | reate-missing-test-files'.to.all | 
| 2dba0 | 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 74 69 | ow.`projectile-find-implementati | 
| 2dbc0 | 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 73 22 | on-or-test'.to.create.new.files" | 
| 2dbe0 | 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 61 64 | .test-file))))))..;;;###autoload | 
| 2dc00 | 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 65 6e | .(defun.projectile-find-implemen | 
| 2dc20 | 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 0a 20 | tation-or-test-other-window.().. | 
| 2dc40 | 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 20 6f | ."Open.matching.implementation.o | 
| 2dc60 | 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 53 65 | r.test.file.in.other.window...Se | 
| 2dc80 | 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 74 69 | e.the.documentation.of.`projecti | 
| 2dca0 | 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 72 6f | le--find-matching-file'.and.`pro | 
| 2dcc0 | 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 6f 72 | jectile--find-matching-test'.for | 
| 2dce0 | 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 69 6c | .how.implementation.and.test.fil | 
| 2dd00 | 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 74 69 | es.are.determined."...(interacti | 
| 2dd20 | 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 20 20 | ve)...(find-file-other-window... | 
| 2dd40 | 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 6f 6e | .(projectile-find-implementation | 
| 2dd60 | 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 0a 0a | -or-test.(buffer-file-name)))).. | 
| 2dd80 | 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 | 
| 2dda0 | 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 74 68 | -find-implementation-or-test-oth | 
| 2ddc0 | 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 6d 70 | er-frame.()..."Open.matching.imp | 
| 2dde0 | 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 68 65 | lementation.or.test.file.in.othe | 
| 2de00 | 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 6e 20 | r.frame...See.the.documentation. | 
| 2de20 | 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 66 69 | of.`projectile--find-matching-fi | 
| 2de40 | 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 68 69 | le'.and.`projectile--find-matchi | 
| 2de60 | 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 6e 20 | ng-test'.for.how.implementation. | 
| 2de80 | 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 22 0a | and.test.files.are.determined.". | 
| 2dea0 | 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 68 | ..(interactive)...(find-file-oth | 
| 2dec0 | 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 6d 70 | er-frame....(projectile-find-imp | 
| 2dee0 | 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 | 
| 2df00 | 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 75 6e | -name))))..;;;###autoload.(defun | 
| 2df20 | 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 6c 65 | .projectile-toggle-between-imple | 
| 2df40 | 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 65 20 | mentation-and-test.()..."Toggle. | 
| 2df60 | 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 20 61 | between.an.implementation.file.a | 
| 2df80 | 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 63 75 | nd.its.test.file....See.the.docu | 
| 2dfa0 | 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 2d 6d | mentation.of.`projectile--find-m | 
| 2dfc0 | 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 2d 66 | atching-file'.and.`projectile--f | 
| 2dfe0 | 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 6c 65 | ind-matching-test'.for.how.imple | 
| 2e000 | 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 65 74 | mentation.and.test.files.are.det | 
| 2e020 | 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 69 6e | ermined."...(interactive)...(fin | 
| 2e040 | 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 6c 65 | d-file....(projectile-find-imple | 
| 2e060 | 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 2d 6e | mentation-or-test.(buffer-file-n | 
| 2e080 | 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 6f 6a | ame))))...(defun.projectile-proj | 
| 2e0a0 | 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 70 65 | ect-type-attribute.(project-type | 
| 2e0c0 | 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 20 20 | .key.&optional.default-value)... | 
| 2e0e0 | 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 45 43 | "Return.the.value.of.some.PROJEC | 
| 2e100 | 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 20 4b | T-TYPE.attribute.identified.by.K | 
| 2e120 | 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 66 6f | EY..Fallback.to.DEFAULT-VALUE.fo | 
| 2e140 | 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 28 28 | r.missing.attributes."...(let.(( | 
| 2e160 | 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 65 20 | project.(alist-get.project-type. | 
| 2e180 | 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 20 20 | projectile-project-types)))..... | 
| 2e1a0 | 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 20 70 | (if.(and.project.(plist-member.p | 
| 2e1c0 | 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 74 20 | roject.key)).........(plist-get. | 
| 2e1e0 | 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 75 65 | project.key).......default-value | 
| 2e200 | 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 65 66 | )))..(defun.projectile-test-pref | 
| 2e220 | 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 75 6c | ix.(project-type)..."Find.defaul | 
| 2e240 | 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 52 4f | t.test.files.prefix.based.on.PRO | 
| 2e260 | 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 6f | JECT-TYPE."...(or.projectile-pro | 
| 2e280 | 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 74 69 | ject-test-prefix.......(projecti | 
| 2e2a0 | 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 65 63 | le-project-type-attribute.projec | 
| 2e2c0 | 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 20 70 | t-type.'test-prefix)))..(defun.p | 
| 2e2e0 | 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 2d 74 | rojectile-test-suffix.(project-t | 
| 2e300 | 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 73 20 | ype)..."Find.default.test.files. | 
| 2e320 | 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 0a 20 | suffix.based.on.PROJECT-TYPE.".. | 
| 2e340 | 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 75 66 | .(or.projectile-project-test-suf | 
| 2e360 | 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 74 79 | fix.......(projectile-project-ty | 
| 2e380 | 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 74 2d | pe-attribute.project-type.'test- | 
| 2e3a0 | 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 65 6c | suffix)))..(defun.projectile-rel | 
| 2e3c0 | 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 20 22 | ated-files-fn.(project-type)..." | 
| 2e3e0 | 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 4f 4a | Find.relative.file.based.on.PROJ | 
| 2e400 | 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 6f 6a | ECT-TYPE."...(or.projectile-proj | 
| 2e420 | 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 6f 6a | ect-related-files-fn.......(proj | 
| 2e440 | 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 | 
| 2e460 | 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 29 0a | oject-type.'related-files-fn))). | 
| 2e480 | 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 72 79 | .(defun.projectile-src-directory | 
| 2e4a0 | 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 74 20 | .(project-type)..."Find.default. | 
| 2e4c0 | 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 2d 54 | src.directory.based.on.PROJECT-T | 
| 2e4e0 | 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 2d 73 | YPE."...(or.projectile-project-s | 
| 2e500 | 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 63 74 | rc-dir.......(projectile-project | 
| 2e520 | 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 73 72 | -type-attribute.project-type.'sr | 
| 2e540 | 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 73 74 | c-dir)))..(defun.projectile-test | 
| 2e560 | 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 69 6e | -directory.(project-type)..."Fin | 
| 2e580 | 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 20 6f | d.default.test.directory.based.o | 
| 2e5a0 | 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 69 6c | n.PROJECT-TYPE."...(or.projectil | 
| 2e5c0 | 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 65 63 | e-project-test-dir.......(projec | 
| 2e5e0 | 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 | 
| 2e600 | 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 70 72 | ect-type.'test-dir)))..(defun.pr | 
| 2e620 | 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 74 20 | ojectile-dirname-matching-count. | 
| 2e640 | 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 65 73 | (a.b)..."Count.matching.dirnames | 
| 2e660 | 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 20 42 | .ascending.file.paths.in.A.and.B | 
| 2e680 | 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 74 72 | ."...(setq.a.(reverse.(split-str | 
| 2e6a0 | 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 29 20 | ing.(or.(file-name-directory.a). | 
| 2e6c0 | 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 20 28 | "")."/".t)).........b.(reverse.( | 
| 2e6e0 | 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 72 65 | split-string.(or.(file-name-dire | 
| 2e700 | 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 28 63 | ctory.b)."")."/".t)))...(let.((c | 
| 2e720 | 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 28 73 | ommon.0)).....(while.(and.a.b.(s | 
| 2e740 | 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 20 20 | tring-equal.(pop.a).(pop.b)))... | 
| 2e760 | 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 0a 20 | ....(setq.common.(1+.common))).. | 
| 2e780 | 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 2d 67 | ...common))..(defun.projectile-g | 
| 2e7a0 | 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 64 69 | roup-file-candidates.(file.candi | 
| 2e7c0 | 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 73 20 | dates)..."Group.file.candidates. | 
| 2e7e0 | 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 28 63 | by.dirname.matching.count."...(c | 
| 2e800 | 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 20 20 | l-sort.(copy-sequence........... | 
| 2e820 | 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 20 20 | ..(let.(value.result)........... | 
| 2e840 | 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 6e 64 | ....(while.(setq.value.(pop.cand | 
| 2e860 | 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 20 28 | idates)).................(let*.( | 
| 2e880 | 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 69 6e | (key.(projectile-dirname-matchin | 
| 2e8a0 | 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 20 20 | g-count.file.value))............ | 
| 2e8c0 | 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 75 6c | ............(kv.(assoc.key.resul | 
| 2e8e0 | 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 20 20 | t)))...................(if.kv... | 
| 2e900 | 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 20 28 | ....................(setcdr.kv.( | 
| 2e920 | 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 20 20 | cons.value.(cdr.kv)))........... | 
| 2e940 | 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 65 29 | ..........(push.(list.key.value) | 
| 2e960 | 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 63 61 | .result))))...............(mapca | 
| 2e980 | 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 20 20 | r.(lambda.(x)................... | 
| 2e9a0 | 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 28 63 | ......(cons.(car.x).(nreverse.(c | 
| 2e9c0 | 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 20 28 | dr.x)))).......................( | 
| 2e9e0 | 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 20 28 | nreverse.result))))............( | 
| 2ea00 | 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 29 29 | lambda.(a.b).(>.(car.a).(car.b)) | 
| 2ea20 | 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 72 2d | )))..(defun.projectile--best-or- | 
| 2ea40 | 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 73 2d | all-candidates-based-on-parents- | 
| 2ea60 | 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 72 6e | dirs.(file.candidates)..."Return | 
| 2ea80 | 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 72 20 | .a.list.of.the.best.one.one.for. | 
| 2eaa0 | 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 4e 44 | FILE.from.CANDIDATES.or.all.CAND | 
| 2eac0 | 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 69 64 | IDATES."...(let.((grouped-candid | 
| 2eae0 | 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 6e 64 | ates.(projectile-group-file-cand | 
| 2eb00 | 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 28 69 | idates.file.candidates))).....(i | 
| 2eb20 | 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 69 64 | f.(=.(length.(car.grouped-candid | 
| 2eb40 | 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 6c 61 | ates)).2).........(list.(car.(la | 
| 2eb60 | 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 0a 20 | st.(car.grouped-candidates)))).. | 
| 2eb80 | 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 27 63 | .....(apply.#'append.(mapcar.#'c | 
| 2eba0 | 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 65 66 | dr.grouped-candidates)))))..(def | 
| 2ebc0 | 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 65 64 | un.projectile--impl-to-test-pred | 
| 2ebe0 | 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 70 72 | icate.(impl-file)..."Return.a.pr | 
| 2ec00 | 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 6e 79 | edicate,.which.returns.t.for.any | 
| 2ec20 | 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 28 6c | .test.files.for.IMPL-FILE."...(l | 
| 2ec40 | 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 2d 65 | et*.((basename.(file-name-sans-e | 
| 2ec60 | 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 72 79 | xtension.(file-name-nondirectory | 
| 2ec80 | 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 72 65 | .impl-file)))..........(test-pre | 
| 2eca0 | 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 72 65 | fix.(funcall.projectile-test-pre | 
| 2ecc0 | 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 63 74 | fix-function.(projectile-project | 
| 2ece0 | 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 20 28 | -type)))..........(test-suffix.( | 
| 2ed00 | 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 2d 66 | funcall.projectile-test-suffix-f | 
| 2ed20 | 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 70 65 | unction.(projectile-project-type | 
| 2ed40 | 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 6e 20 | )))..........(prefix-name.(when. | 
| 2ed60 | 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 78 20 | test-prefix.(concat.test-prefix. | 
| 2ed80 | 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 61 6d | basename)))..........(suffix-nam | 
| 2eda0 | 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 73 65 | e.(when.test-suffix.(concat.base | 
| 2edc0 | 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 64 61 | name.test-suffix)))).....(lambda | 
| 2ede0 | 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 6d | .(current-file).......(let.((nam | 
| 2ee00 | 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 69 6c | e.(file-name-sans-extension.(fil | 
| 2ee20 | 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 6c 65 | e-name-nondirectory.current-file | 
| 2ee40 | 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 20 70 | )))).........(or.(string-equal.p | 
| 2ee60 | 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 73 74 | refix-name.name).............(st | 
| 2ee80 | 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 29 29 | ring-equal.suffix-name.name))))) | 
| 2eea0 | 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 6e 74 | )..(defun.projectile--complement | 
| 2eec0 | 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 65 6e | ary-file.(file-path.dir-fn.filen | 
| 2eee0 | 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 4c 45 | ame-fn)..."Apply.DIR-FN.and.FILE | 
| 2ef00 | 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 61 6d | NAME-FN.to.the.directory.and.nam | 
| 2ef20 | 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 61 6c | e.of.FILE-PATH...More.specifical | 
| 2ef40 | 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 68 65 | ly,.return.DIR-FN.applied.to.the | 
| 2ef60 | 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 65 6e | .directory.of.FILE-PATH.concaten | 
| 2ef80 | 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 74 6f | ated.with.FILENAME-FN.applied.to | 
| 2efa0 | 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 49 66 | .the.file.name.of.FILE-PATH...If | 
| 2efc0 | 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 72 65 | .either.function.returns.nil,.re | 
| 2efe0 | 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 66 69 | turn.nil."...(let.((filename.(fi | 
| 2f000 | 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 29 29 | le-name-nondirectory.file-path)) | 
| 2f020 | 29 0a 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 2a    20 28 28 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 | ).....(when-let*.((complementary | 
| 2f040 | 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 66 | -filename.(funcall.filename-fn.f | 
| 2f060 | 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 66 | ilename))................(dir.(f | 
| 2f080 | 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 6f | uncall.dir-fn.(file-name-directo | 
| 2f0a0 | 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 66 | ry.file-path))))......(concat.(f | 
| 2f0c0 | 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 6c | ile-name-as-directory.dir).compl | 
| 2f0e0 | 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 72 | ementary-filename))))..(defun.pr | 
| 2f100 | 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 72 | ojectile--impl-file-from-src-dir | 
| 2f120 | 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 61 | -str.(file-name)..."Get.the.rela | 
| 2f140 | 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 20 | tive.path.of.the.implementation. | 
| 2f160 | 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 65 | file.FILE-NAME..Return.a.path.re | 
| 2f180 | 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 74 | lative.to.the.project.root.for.t | 
| 2f1a0 | 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 20 | he.impl.file.of.FILE-NAME.using. | 
| 2f1c0 | 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 74 | the.src-dir.and.test-dir.propert | 
| 2f1e0 | 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 20 | ies.of.the.current.project.type. | 
| 2f200 | 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 74 | which.should.be.strings,.nil.ret | 
| 2f220 | 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 0a | urned.if.this.is.not.the.case.". | 
| 2f240 | 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 63    6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66 69 6c | ..(when-let*.((complementary-fil | 
| 2f260 | 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 | 
| 2f280 | 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............................... | 
| 2f2a0 | 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................... | 
| 2f2c0 | 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 | 
| 2f2e0 | 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.................. | 
| 2f300 | 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 | 
| 2f320 | 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 | 
| 2f340 | 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- | 
| 2f360 | 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))) | 
| 2f380 | 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- | 
| 2f3a0 | 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)... | 
| 2f3c0 | 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 | 
| 2f3e0 | 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 | 
| 2f400 | 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 | 
| 2f420 | 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 | 
| 2f440 | 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 | 
| 2f460 | 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 | 
| 2f480 | 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. | 
| 2f4a0 | 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 | 
| 2f4c0 | 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20    28 28 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d | ."...(when-let*.((complementary- | 
| 2f4e0 | 66 69 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 | file.(projectile--complementary- | 
| 2f500 | 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 20 20 20 20 20 20 20 | file............................ | 
| 2f520 | 20 20 20 20 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 | ........file-name............... | 
| 2f540 | 20 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 63 74 69 6c | .....................#'projectil | 
| 2f560 | 65 2d 2d 69 6d 70 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 | e--impl-to-test-dir............. | 
| 2f580 | 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 70 72 6f 6a 65 63 74 | .......................#'project | 
| 2f5a0 | 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 29 0a | ile--test-name-for-impl-name))). | 
| 2f5c0 | 20 20 20 20 28 66 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 | ....(file-relative-name.compleme | 
| 2f5e0 | 6e 74 61 72 79 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 | ntary-file.(projectile-project-r | 
| 2f600 | 6f 6f 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 69 6d 70 6c | oot))))..(defun.projectile--impl | 
| 2f620 | 2d 66 69 6c 65 2d 66 72 6f 6d 2d 73 72 63 2d 64    69 72 2d 66 6e 20 28 74 65 73 74 2d 66 69 6c 65 | -file-from-src-dir-fn.(test-file | 
| 2f640 | 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 | 
| 2f660 | 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e    20 66 69 6c 65 20 63 6f 72 72 65 73 70 6f 6e 64 | e.implementation.file.correspond | 
| 2f680 | 69 6e 67 20 74 6f 20 54 45 53 54 2d 46 49 4c 45    2e 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6d 70 | ing.to.TEST-FILE..Return.the.imp | 
| 2f6a0 | 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65    20 70 61 74 68 20 66 6f 72 20 74 68 65 20 61 62 | lementation.file.path.for.the.ab | 
| 2f6c0 | 73 6f 6c 75 74 65 20 70 61 74 68 20 54 45 53 54    2d 46 49 4c 45 0a 72 65 6c 61 74 69 76 65 20 74 | solute.path.TEST-FILE.relative.t | 
| 2f6e0 | 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 20 72 6f    6f 74 20 69 6e 20 74 68 65 20 63 61 73 65 20 74 | o.the.project.root.in.the.case.t | 
| 2f700 | 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65    63 74 20 74 79 70 65 27 73 20 73 72 63 2d 64 69 | he.current.project.type's.src-di | 
| 2f720 | 72 0a 68 61 73 20 62 65 65 6e 20 73 65 74 20 74    6f 20 61 20 63 75 73 74 6f 6d 20 66 75 6e 63 74 | r.has.been.set.to.a.custom.funct | 
| 2f740 | 69 6f 6e 2c 20 72 65 74 75 72 6e 20 6e 69 6c 20    69 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 74 | ion,.return.nil.if.this.is.not.t | 
| 2f760 | 68 65 20 63 61 73 65 20 6f 72 0a 74 68 65 20 70    61 74 68 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 | he.case.or.the.path.points.to.a. | 
| 2f780 | 66 69 6c 65 20 74 68 61 74 20 64 6f 65 73 20 6e    6f 74 20 65 78 69 73 74 2e 22 0a 20 20 28 77 68 | file.that.does.not.exist."...(wh | 
| 2f7a0 | 65 6e 2d 6c 65 74 2a 20 28 28 73 72 63 2d 64 69    72 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 73 72 | en-let*.((src-dir.(projectile-sr | 
| 2f7c0 | 63 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 65 63 74 2d | c-directory.(projectile-project- | 
| 2f7e0 | 74 79 70 65 29 29 29 29 0a 20 20 20 20 28 77 68    65 6e 20 28 66 75 6e 63 74 69 6f 6e 70 20 73 72 | type)))).....(when.(functionp.sr | 
| 2f800 | 63 2d 64 69 72 29 0a 20 20 20 20 20 20 28 6c 65    74 20 28 28 69 6d 70 6c 2d 66 69 6c 65 20 28 70 | c-dir).......(let.((impl-file.(p | 
| 2f820 | 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... | 
| 2f840 | 20 20 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 66 69 6c 65 0a | ......................test-file. | 
| 2f860 | 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 72 63 2d 64 69 72 0a | ........................src-dir. | 
| 2f880 | 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 70 72 6f 6a 65 63 | ........................#'projec | 
| 2f8a0 | 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 6d 65 29 29 29 | tile--impl-name-for-test-name))) | 
| 2f8c0 | 0a 20 20 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 69 6d | .........(when.(file-exists-p.im | 
| 2f8e0 | 70 6c 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20    20 20 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 | pl-file)...........(file-relativ | 
| 2f900 | 65 2d 6e 61 6d 65 20 69 6d 70 6c 2d 66 69 6c 65    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | e-name.impl-file.(projectile-pro | 
| 2f920 | 6a 65 63 74 2d 72 6f 6f 74 29 29 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | ject-root)))))))..(defun.project | 
| 2f940 | 69 6c 65 2d 2d 74 65 73 74 2d 66 69 6c 65 2d 66    72 6f 6d 2d 74 65 73 74 2d 64 69 72 2d 66 6e 20 | ile--test-file-from-test-dir-fn. | 
| 2f960 | 28 69 6d 70 6c 2d 66 69 6c 65 29 0a 20 20 22 47    65 74 20 74 68 65 20 72 65 6c 61 74 69 76 65 20 | (impl-file)..."Get.the.relative. | 
| 2f980 | 70 61 74 68 20 74 6f 20 74 68 65 20 74 65 73 74    20 66 69 6c 65 20 63 6f 72 72 65 73 70 6f 6e 64 | path.to.the.test.file.correspond | 
| 2f9a0 | 69 6e 67 20 74 6f 20 49 4d 50 4c 2d 46 49 4c 45    2e 0a 52 65 74 75 72 6e 20 74 68 65 20 74 65 73 | ing.to.IMPL-FILE..Return.the.tes | 
| 2f9c0 | 74 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 74 | t.file.path.for.the.absolute.pat | 
| 2f9e0 | 68 20 49 4d 50 4c 2d 46 49 4c 45 20 72 65 6c 61    74 69 76 65 20 74 6f 20 74 68 65 0a 70 72 6f 6a | h.IMPL-FILE.relative.to.the.proj | 
| 2fa00 | 65 63 74 20 72 6f 6f 74 2c 20 69 6e 20 74 68 65    20 63 61 73 65 20 74 68 65 20 63 75 72 72 65 6e | ect.root,.in.the.case.the.curren | 
| 2fa20 | 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 68 61 73 20 62 65 | t.project.type's.test-dir.has.be | 
| 2fa40 | 65 6e 20 73 65 74 0a 74 6f 20 61 20 63 75 73 74    6f 6d 20 66 75 6e 63 74 69 6f 6e 2c 20 65 6c 73 | en.set.to.a.custom.function,.els | 
| 2fa60 | 65 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20    20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 74 65 | e.return.nil."...(when-let*.((te | 
| 2fa80 | 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 | 
| 2faa0 | 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)))).. | 
| 2fac0 | 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 74 69    6f 6e 70 20 74 65 73 74 2d 64 69 72 29 0a 20 20 | ...(when.(functionp.test-dir)... | 
| 2fae0 | 20 20 20 20 28 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 28 | ....(file-relative-name........( | 
| 2fb00 | 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 0a 20 | projectile--complementary-file.. | 
| 2fb20 | 20 20 20 20 20 20 20 69 6d 70 6c 2d 66 69 6c 65    0a 20 20 20 20 20 20 20 20 74 65 73 74 2d 64 69 | .......impl-file.........test-di | 
| 2fb40 | 72 0a 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 74 2d 6e 61 6d | r.........#'projectile--test-nam | 
| 2fb60 | 65 2d 66 6f 72 2d 69 6d 70 6c 2d 6e 61 6d 65 29    0a 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 | e-for-impl-name)........(project | 
| 2fb80 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f | ile-project-root)))))..(defmacro | 
| 2fba0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 61 63 6f    6e 64 20 28 26 72 65 73 74 20 63 6c 61 75 73 65 | .projectile--acond.(&rest.clause | 
| 2fbc0 | 73 29 0a 20 20 22 4c 69 6b 65 20 60 63 6f 6e 64    27 2c 20 62 75 74 20 74 68 65 20 72 65 73 75 6c | s)..."Like.`cond',.but.the.resul | 
| 2fbe0 | 74 20 6f 66 20 65 61 63 68 20 63 6f 6e 64 69 74    69 6f 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 | t.of.each.condition.is.bound.to. | 
| 2fc00 | 60 69 74 27 2e 0a 0a 54 68 65 20 76 61 72 69 61    62 6c 65 20 60 69 74 27 20 69 73 20 61 76 61 69 | `it'...The.variable.`it'.is.avai | 
| 2fc20 | 6c 61 62 6c 65 20 77 69 74 68 69 6e 20 74 68 65    20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 65 61 | lable.within.the.remainder.of.ea | 
| 2fc40 | 63 68 20 6f 66 20 43 4c 41 55 53 45 53 2e 0a 0a    43 4c 41 55 53 45 53 20 61 72 65 20 6f 74 68 65 | ch.of.CLAUSES...CLAUSES.are.othe | 
| 2fc60 | 72 77 69 73 65 20 61 73 20 64 6f 63 75 6d 65 6e    74 65 64 20 66 6f 72 20 60 63 6f 6e 64 27 2e 20 | rwise.as.documented.for.`cond'.. | 
| 2fc80 | 20 54 68 69 73 20 69 73 20 63 6f 70 69 65 64 20    66 72 6f 6d 0a 61 6e 61 70 68 6f 72 61 2e 65 6c | .This.is.copied.from.anaphora.el | 
| 2fca0 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64    65 62 75 67 20 63 6f 6e 64 29 29 0a 20 20 28 69 | ."...(declare.(debug.cond))...(i | 
| 2fcc0 | 66 20 28 6e 75 6c 6c 20 63 6c 61 75 73 65 73 29    0a 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 28 | f.(null.clauses).......nil.....( | 
| 2fce0 | 6c 65 74 20 28 28 63 6c 31 20 28 63 61 72 20 63    6c 61 75 73 65 73 29 29 0a 20 20 20 20 20 20 20 | let.((cl1.(car.clauses))........ | 
| 2fd00 | 20 20 20 28 73 79 6d 20 28 63 6c 2d 67 65 6e 73    79 6d 29 29 29 0a 20 20 20 20 20 20 60 28 6c 65 | ...(sym.(cl-gensym))).......`(le | 
| 2fd20 | 74 20 28 28 2c 73 79 6d 20 2c 28 63 61 72 20 63    6c 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 | t.((,sym.,(car.cl1)))..........( | 
| 2fd40 | 69 66 20 2c 73 79 6d 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 27 | if.,sym..............(if.(null.' | 
| 2fd60 | 2c 28 63 64 72 20 63 6c 31 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 2c 73 79 | ,(cdr.cl1))..................,sy | 
| 2fd80 | 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 65 74 20 28 28 69 74 20 2c 73 79 6d 29 | m................(let.((it.,sym) | 
| 2fda0 | 29 20 2c 40 28 63 64 72 20 63 6c 31 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a | ).,@(cdr.cl1)))............(proj | 
| 2fdc0 | 65 63 74 69 6c 65 2d 2d 61 63 6f 6e 64 20 2c 40    28 63 64 72 20 63 6c 61 75 73 65 73 29 29 29 29 | ectile--acond.,@(cdr.clauses)))) | 
| 2fde0 | 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 6e 64 2d 6d 61 74 | )))..(defun.projectile--find-mat | 
| 2fe00 | 63 68 69 6e 67 2d 74 65 73 74 20 28 69 6d 70 6c    2d 66 69 6c 65 29 0a 20 20 22 52 65 74 75 72 6e | ching-test.(impl-file)..."Return | 
| 2fe20 | 20 61 20 6c 69 73 74 20 6f 66 20 74 65 73 74 20    66 69 6c 65 73 20 66 6f 72 20 49 4d 50 4c 2d 46 | .a.list.of.test.files.for.IMPL-F | 
| 2fe40 | 49 4c 45 2e 0a 0a 54 68 65 20 70 72 65 63 65 64    65 6e 63 65 20 66 6f 72 20 64 65 74 65 72 6d 69 | ILE...The.precedence.for.determi | 
| 2fe60 | 6e 69 6e 67 20 74 65 73 74 20 66 69 6c 65 73 20    74 6f 20 72 65 74 75 72 6e 20 69 73 3a 0a 0a 31 | ning.test.files.to.return.is:..1 | 
| 2fe80 | 2e 20 55 73 65 20 74 68 65 20 70 72 6f 6a 65 63    74 20 74 79 70 65 27 73 20 74 65 73 74 2d 64 69 | ..Use.the.project.type's.test-di | 
| 2fea0 | 72 20 70 72 6f 70 65 72 74 79 20 69 66 20 69 74    27 73 20 73 65 74 20 74 6f 20 61 20 66 75 6e 63 | r.property.if.it's.set.to.a.func | 
| 2fec0 | 74 69 6f 6e 0a 32 2e 20 55 73 65 20 74 68 65 20    70 72 6f 6a 65 63 74 20 74 79 70 65 27 73 20 72 | tion.2..Use.the.project.type's.r | 
| 2fee0 | 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 20    70 72 6f 70 65 72 74 79 20 69 66 20 73 65 74 0a | elated-files-fn.property.if.set. | 
| 2ff00 | 33 2e 20 55 73 65 20 74 68 65 20 70 72 6f 6a 65    63 74 20 74 79 70 65 27 73 20 74 65 73 74 2d 64 | 3..Use.the.project.type's.test-d | 
| 2ff20 | 69 72 20 70 72 6f 70 65 72 74 79 20 69 66 20 69    74 27 73 20 73 65 74 20 74 6f 20 61 20 73 74 72 | ir.property.if.it's.set.to.a.str | 
| 2ff40 | 69 6e 67 0a 34 2e 20 41 74 74 65 6d 70 74 20 74    6f 20 66 69 6e 64 20 61 20 66 69 6c 65 20 62 79 | ing.4..Attempt.to.find.a.file.by | 
| 2ff60 | 20 6d 61 74 63 68 69 6e 67 20 61 6c 6c 20 70 72    6f 6a 65 63 74 20 66 69 6c 65 73 20 61 67 61 69 | .matching.all.project.files.agai | 
| 2ff80 | 6e 73 74 0a 20 20 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 69 6d 70 6c 2d 74 6f 2d 74 65 73 74 | nst....`projectile--impl-to-test | 
| 2ffa0 | 2d 70 72 65 64 69 63 61 74 65 27 0a 35 2e 20 46    61 6c 6c 62 61 63 6b 20 74 6f 20 73 77 61 70 70 | -predicate'.5..Fallback.to.swapp | 
| 2ffc0 | 69 6e 67 20 5c 22 73 72 63 5c 22 20 66 6f 72 20    5c 22 74 65 73 74 5c 22 20 69 6e 20 49 4d 50 4c | ing.\"src\".for.\"test\".in.IMPL | 
| 2ffe0 | 2d 46 49 4c 45 20 69 66 20 5c 22 73 72 63 5c 22    0a 20 20 20 69 73 20 61 20 73 75 62 73 74 72 69 | -FILE.if.\"src\"....is.a.substri | 
| 30000 | 6e 67 20 6f 66 20 49 4d 50 4c 2d 46 49 4c 45 2e    22 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ng.of.IMPL-FILE."...(projectile- | 
| 30020 | 2d 61 63 6f 6e 64 0a 20 20 20 28 28 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 74 65 73 74 2d 66 69 6c | -acond....((projectile--test-fil | 
| 30040 | 65 2d 66 72 6f 6d 2d 74 65 73 74 2d 64 69 72 2d    66 6e 20 69 6d 70 6c 2d 66 69 6c 65 29 20 28 6c | e-from-test-dir-fn.impl-file).(l | 
| 30060 | 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 72 65 6c 61 74 65 | ist.it))....((projectile--relate | 
| 30080 | 64 2d 66 69 6c 65 73 2d 70 6c 69 73 74 2d 62 79    2d 6b 69 6e 64 20 69 6d 70 6c 2d 66 69 6c 65 20 | d-files-plist-by-kind.impl-file. | 
| 300a0 | 3a 74 65 73 74 29 0a 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 72 65 6c 61 74 65 64 2d | :test).....(projectile--related- | 
| 300c0 | 66 69 6c 65 73 2d 66 72 6f 6d 2d 70 6c 69 73 74    20 69 74 29 29 0a 20 20 20 28 28 70 72 6f 6a 65 | files-from-plist.it))....((proje | 
| 300e0 | 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 2d 64 69 72 2d 73 | ctile--test-file-from-test-dir-s | 
| 30100 | 74 72 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 20 28 28 70 72 | tr.impl-file).(list.it))....((pr | 
| 30120 | 6f 6a 65 63 74 69 6c 65 2d 2d 62 65 73 74 2d 6f    72 2d 61 6c 6c 2d 63 61 6e 64 69 64 61 74 65 73 | ojectile--best-or-all-candidates | 
| 30140 | 2d 62 61 73 65 64 2d 6f 6e 2d 70 61 72 65 6e 74    73 2d 64 69 72 73 0a 20 20 20 20 20 69 6d 70 6c | -based-on-parents-dirs......impl | 
| 30160 | 2d 66 69 6c 65 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 | -file.(cl-remove-if-not......... | 
| 30180 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 2d 69 6d 70 6c 2d 74 6f 2d 74 65 73 | ........(projectile--impl-to-tes | 
| 301a0 | 74 2d 70 72 65 64 69 63 61 74 65 20 69 6d 70 6c    2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 | t-predicate.impl-file).......... | 
| 301c0 | 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 65 | .......(projectile-current-proje | 
| 301e0 | 63 74 2d 66 69 6c 65 73 29 29 29 20 69 74 29 0a    20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ct-files))).it)....((projectile- | 
| 30200 | 2d 69 6d 70 6c 2d 74 6f 2d 74 65 73 74 2d 64 69    72 2d 66 61 6c 6c 62 61 63 6b 20 69 6d 70 6c 2d | -impl-to-test-dir-fallback.impl- | 
| 30220 | 66 69 6c 65 29 0a 20 20 20 20 28 6c 69 73 74 20    69 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 | file).....(list.it))))..(defun.p | 
| 30240 | 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 74 | rojectile--test-to-impl-predicat | 
| 30260 | 65 20 28 74 65 73 74 2d 66 69 6c 65 29 0a 20 20    22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 | e.(test-file)..."Return.a.predic | 
| 30280 | 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 6e 79 20 69 6d 70 | ate,.which.returns.t.for.any.imp | 
| 302a0 | 6c 20 66 69 6c 65 73 20 66 6f 72 20 54 45 53 54    2d 46 49 4c 45 2e 22 0a 20 20 28 6c 65 74 2a 20 | l.files.for.TEST-FILE."...(let*. | 
| 302c0 | 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 2d 65 78 74 65 6e | ((basename.(file-name-sans-exten | 
| 302e0 | 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 72 79 20 74 65 73 | sion.(file-name-nondirectory.tes | 
| 30300 | 74 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 72 65 66 69 78 20 | t-file)))..........(test-prefix. | 
| 30320 | 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 72 65 66 69 78 2d | (funcall.projectile-test-prefix- | 
| 30340 | 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 70 | function.(projectile-project-typ | 
| 30360 | 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 20 28 66 75 6e 63 | e)))..........(test-suffix.(func | 
| 30380 | 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 | 
| 303a0 | 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 70 65 29 29 29 29 | ion.(projectile-project-type)))) | 
| 303c0 | 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 75    72 72 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 | .....(lambda.(current-file)..... | 
| 303e0 | 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 66    69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 | ..(let.((name.(file-name-nondire | 
| 30400 | 63 74 6f 72 79 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 | ctory.(file-name-sans-extension. | 
| 30420 | 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 29 29 29    0a 20 20 20 20 20 20 20 20 28 6f 72 20 28 77 68 | current-file)))).........(or.(wh | 
| 30440 | 65 6e 20 74 65 73 74 2d 70 72 65 66 69 78 20 28    73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 63 6f | en.test-prefix.(string-equal.(co | 
| 30460 | 6e 63 61 74 20 74 65 73 74 2d 70 72 65 66 69 78    20 6e 61 6d 65 29 20 62 61 73 65 6e 61 6d 65 29 | ncat.test-prefix.name).basename) | 
| 30480 | 29 0a 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 20 | ).............(when.test-suffix. | 
| 304a0 | 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 63    6f 6e 63 61 74 20 6e 61 6d 65 20 74 65 73 74 2d | (string-equal.(concat.name.test- | 
| 304c0 | 73 75 66 66 69 78 29 20 62 61 73 65 6e 61 6d 65    29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | suffix).basename)))))))..(defun. | 
| 304e0 | 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 66 69 6c 65 20 28 | projectile--find-matching-file.( | 
| 30500 | 74 65 73 74 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 69 | test-file)..."Return.a.list.of.i | 
| 30520 | 6d 70 6c 20 66 69 6c 65 73 20 74 65 73 74 65 64    20 62 79 20 54 45 53 54 2d 46 49 4c 45 2e 0a 0a | mpl.files.tested.by.TEST-FILE... | 
| 30540 | 54 68 65 20 70 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 69 | The.precedence.for.determining.i | 
| 30560 | 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 69    6c 65 73 20 74 6f 20 72 65 74 75 72 6e 20 69 73 | mplementation.files.to.return.is | 
| 30580 | 3a 0a 0a 31 2e 20 55 73 65 20 74 68 65 20 70 72    6f 6a 65 63 74 20 74 79 70 65 27 73 20 73 72 63 | :..1..Use.the.project.type's.src | 
| 305a0 | 2d 64 69 72 20 70 72 6f 70 65 72 74 79 20 69 66    20 69 74 27 73 20 73 65 74 20 74 6f 20 61 20 66 | -dir.property.if.it's.set.to.a.f | 
| 305c0 | 75 6e 63 74 69 6f 6e 0a 32 2e 20 55 73 65 20 74    68 65 20 70 72 6f 6a 65 63 74 20 74 79 70 65 27 | unction.2..Use.the.project.type' | 
| 305e0 | 73 20 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d    66 6e 20 70 72 6f 70 65 72 74 79 20 69 66 20 73 | s.related-files-fn.property.if.s | 
| 30600 | 65 74 0a 33 2e 20 55 73 65 20 74 68 65 20 70 72    6f 6a 65 63 74 20 74 79 70 65 27 73 20 73 72 63 | et.3..Use.the.project.type's.src | 
| 30620 | 2d 64 69 72 20 70 72 6f 70 65 72 74 79 20 69 66    20 69 74 27 73 20 73 65 74 20 74 6f 20 61 20 73 | -dir.property.if.it's.set.to.a.s | 
| 30640 | 74 72 69 6e 67 0a 34 2e 20 44 65 66 61 75 6c 74    20 74 6f 20 61 20 66 61 6c 6c 62 61 63 6b 20 77 | tring.4..Default.to.a.fallback.w | 
| 30660 | 68 69 63 68 20 6d 61 74 63 68 65 73 20 61 6c 6c    20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 20 61 | hich.matches.all.project.files.a | 
| 30680 | 67 61 69 6e 73 74 0a 20 20 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 74 65 73 74 2d 74 6f 2d 69 | gainst....`projectile--test-to-i | 
| 306a0 | 6d 70 6c 2d 70 72 65 64 69 63 61 74 65 27 0a 35    2e 20 46 61 6c 6c 62 61 63 6b 20 74 6f 20 73 77 | mpl-predicate'.5..Fallback.to.sw | 
| 306c0 | 61 70 70 69 6e 67 20 5c 22 74 65 73 74 5c 22 20    66 6f 72 20 5c 22 73 72 63 5c 22 20 69 6e 20 54 | apping.\"test\".for.\"src\".in.T | 
| 306e0 | 45 53 54 2d 46 49 4c 45 20 69 66 20 5c 22 74 65    73 74 5c 22 0a 20 20 20 69 73 20 61 20 73 75 62 | EST-FILE.if.\"test\"....is.a.sub | 
| 30700 | 73 74 72 69 6e 67 20 6f 66 20 54 45 53 54 2d 46    49 4c 45 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 | string.of.TEST-FILE."...(project | 
| 30720 | 69 6c 65 2d 2d 61 63 6f 6e 64 0a 20 20 20 28 28    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 6c | ile--acond....((projectile--impl | 
| 30740 | 2d 66 69 6c 65 2d 66 72 6f 6d 2d 73 72 63 2d 64    69 72 2d 66 6e 20 74 65 73 74 2d 66 69 6c 65 29 | -file-from-src-dir-fn.test-file) | 
| 30760 | 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 72 65 6c | .(list.it))....((projectile--rel | 
| 30780 | 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 74 65 73 74 2d 66 69 | ated-files-plist-by-kind.test-fi | 
| 307a0 | 6c 65 20 3a 69 6d 70 6c 29 0a 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 6c 61 74 | le.:impl).....(projectile--relat | 
| 307c0 | 65 64 2d 66 69 6c 65 73 2d 66 72 6f 6d 2d 70 6c    69 73 74 20 69 74 29 29 0a 20 20 20 28 28 70 72 | ed-files-from-plist.it))....((pr | 
| 307e0 | 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 72 | ojectile--impl-file-from-src-dir | 
| 30800 | 2d 73 74 72 20 74 65 73 74 2d 66 69 6c 65 29 20    28 6c 69 73 74 20 69 74 29 29 0a 20 20 20 28 28 | -str.test-file).(list.it))....(( | 
| 30820 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 62 65 73 74    2d 6f 72 2d 61 6c 6c 2d 63 61 6e 64 69 64 61 74 | projectile--best-or-all-candidat | 
| 30840 | 65 73 2d 62 61 73 65 64 2d 6f 6e 2d 70 61 72 65    6e 74 73 2d 64 69 72 73 0a 20 20 20 20 20 74 65 | es-based-on-parents-dirs......te | 
| 30860 | 73 74 2d 66 69 6c 65 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 | st-file.(cl-remove-if-not....... | 
| 30880 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 74 65 73 74 2d 74 6f 2d 69 | ..........(projectile--test-to-i | 
| 308a0 | 6d 70 6c 2d 70 72 65 64 69 63 61 74 65 20 74 65    73 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 | mpl-predicate.test-file)........ | 
| 308c0 | 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 74 2d 70 72 6f | .........(projectile-current-pro | 
| 308e0 | 6a 65 63 74 2d 66 69 6c 65 73 29 29 29 20 69 74    29 0a 20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c | ject-files))).it)....((projectil | 
| 30900 | 65 2d 2d 74 65 73 74 2d 74 6f 2d 69 6d 70 6c 2d    64 69 72 2d 66 61 6c 6c 62 61 63 6b 20 74 65 73 | e--test-to-impl-dir-fallback.tes | 
| 30920 | 74 2d 66 69 6c 65 29 20 28 6c 69 73 74 20 69 74    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | t-file).(list.it))))..(defun.pro | 
| 30940 | 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 20 | jectile--choose-from-candidates. | 
| 30960 | 28 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 22    43 68 6f 6f 73 65 20 6f 6e 65 20 69 74 65 6d 20 | (candidates)..."Choose.one.item. | 
| 30980 | 66 72 6f 6d 20 43 41 4e 44 49 44 41 54 45 53 2e    22 0a 20 20 28 69 66 20 28 3d 20 28 6c 65 6e 67 | from.CANDIDATES."...(if.(=.(leng | 
| 309a0 | 74 68 20 63 61 6e 64 69 64 61 74 65 73 29 20 31    29 0a 20 20 20 20 20 20 28 63 61 72 20 63 61 6e | th.candidates).1).......(car.can | 
| 309c0 | 64 69 64 61 74 65 73 29 0a 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 | didates).....(projectile-complet | 
| 309e0 | 69 6e 67 2d 72 65 61 64 20 22 53 77 69 74 63 68    20 74 6f 3a 20 22 20 63 61 6e 64 69 64 61 74 65 | ing-read."Switch.to:.".candidate | 
| 30a00 | 73 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 6e 64 2d 6d 61 74 | s)))..(defun.projectile-find-mat | 
| 30a20 | 63 68 69 6e 67 2d 74 65 73 74 20 28 69 6d 70 6c    2d 66 69 6c 65 29 0a 20 20 22 43 6f 6d 70 75 74 | ching-test.(impl-file)..."Comput | 
| 30a40 | 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68    65 20 74 65 73 74 20 6d 61 74 63 68 69 6e 67 20 | e.the.name.of.the.test.matching. | 
| 30a60 | 49 4d 50 4c 2d 46 49 4c 45 2e 22 0a 20 20 28 77    68 65 6e 2d 6c 65 74 2a 20 28 28 63 61 6e 64 69 | IMPL-FILE."...(when-let*.((candi | 
| 30a80 | 64 61 74 65 73 20 28 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 | dates.(projectile--find-matching | 
| 30aa0 | 2d 74 65 73 74 20 69 6d 70 6c 2d 66 69 6c 65 29    29 29 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | -test.impl-file))).....(projecti | 
| 30ac0 | 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 20 63 61 6e 64 69 | le--choose-from-candidates.candi | 
| 30ae0 | 64 61 74 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 66 69 6e 64 | dates)))..(defun.projectile-find | 
| 30b00 | 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 20 20 22 43 6f | -matching-file.(test-file)..."Co | 
| 30b20 | 6d 70 75 74 65 20 74 68 65 20 6e 61 6d 65 20 6f    66 20 61 20 66 69 6c 65 20 6d 61 74 63 68 69 6e | mpute.the.name.of.a.file.matchin | 
| 30b40 | 67 20 54 45 53 54 2d 46 49 4c 45 2e 22 0a 20 20    28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 63 61 6e | g.TEST-FILE."...(when-let*.((can | 
| 30b60 | 64 69 64 61 74 65 73 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 2d 66 69 6e 64 2d 6d 61 74 63 68 69 | didates.(projectile--find-matchi | 
| 30b80 | 6e 67 2d 66 69 6c 65 20 74 65 73 74 2d 66 69 6c    65 29 29 29 0a 20 20 20 20 28 70 72 6f 6a 65 63 | ng-file.test-file))).....(projec | 
| 30ba0 | 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 20 63 61 6e | tile--choose-from-candidates.can | 
| 30bc0 | 64 69 64 61 74 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 67 72 | didates)))..(defun.projectile-gr | 
| 30be0 | 65 70 2d 64 65 66 61 75 6c 74 2d 66 69 6c 65 73    20 28 29 0a 20 20 22 54 72 79 20 74 6f 20 66 69 | ep-default-files.()..."Try.to.fi | 
| 30c00 | 6e 64 20 61 20 64 65 66 61 75 6c 74 20 70 61 74    74 65 72 6e 20 66 6f 72 20 60 70 72 6f 6a 65 63 | nd.a.default.pattern.for.`projec | 
| 30c20 | 74 69 6c 65 2d 67 72 65 70 27 2e 0a 54 68 69 73    20 69 73 20 61 20 73 75 62 73 65 74 20 6f 66 20 | tile-grep'..This.is.a.subset.of. | 
| 30c40 | 60 67 72 65 70 2d 72 65 61 64 2d 66 69 6c 65 73    27 2c 20 77 68 65 72 65 20 65 69 74 68 65 72 20 | `grep-read-files',.where.either. | 
| 30c60 | 61 20 6d 61 74 63 68 69 6e 67 20 65 6e 74 72 79    20 66 72 6f 6d 0a 60 67 72 65 70 2d 66 69 6c 65 | a.matching.entry.from.`grep-file | 
| 30c80 | 73 2d 61 6c 69 61 73 65 73 27 20 6f 72 20 66 69    6c 65 20 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f | s-aliases'.or.file.name.extensio | 
| 30ca0 | 6e 20 70 61 74 74 65 72 6e 20 69 73 20 72 65 74    75 72 6e 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 | n.pattern.is.returned."...(when. | 
| 30cc0 | 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65    0a 20 20 20 20 28 6c 65 74 2a 20 28 28 66 6e 20 | buffer-file-name.....(let*.((fn. | 
| 30ce0 | 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69    72 65 63 74 6f 72 79 20 62 75 66 66 65 72 2d 66 | (file-name-nondirectory.buffer-f | 
| 30d00 | 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 61 | ile-name))............(default-a | 
| 30d20 | 6c 69 61 73 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6c 65 74 20 28 28 61 6c 69 61 73 65 73 | lias..............(let.((aliases | 
| 30d40 | 20 28 72 65 6d 6f 76 65 20 28 61 73 73 6f 63 20    22 61 6c 6c 22 20 67 72 65 70 2d 66 69 6c 65 73 | .(remove.(assoc."all".grep-files | 
| 30d60 | 2d 61 6c 69 61 73 65 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 | -aliases)....................... | 
| 30d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 72    65 70 2d 66 69 6c 65 73 2d 61 6c 69 61 73 65 73 | ..............grep-files-aliases | 
| 30da0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 61 6c 69 61 73 29 0a 20 20 20 | ))....................alias).... | 
| 30dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69    6c 65 20 61 6c 69 61 73 65 73 0a 20 20 20 20 20 | ............(while.aliases...... | 
| 30de0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74    71 20 61 6c 69 61 73 20 28 63 61 72 20 61 6c 69 | ............(setq.alias.(car.ali | 
| 30e00 | 61 73 65 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 61 6c 69 | ases)........................ali | 
| 30e20 | 61 73 65 73 20 28 63 64 72 20 61 6c 69 61 73 65    73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ases.(cdr.aliases))............. | 
| 30e40 | 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67    2d 6d 61 74 63 68 20 28 6d 61 70 63 6f 6e 63 61 | .....(if.(string-match.(mapconca | 
| 30e60 | 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............................... | 
| 30e80 | 20 20 20 20 20 20 23 27 77 69 6c 64 63 61 72 64    2d 74 6f 2d 72 65 67 65 78 70 0a 20 20 20 20 20 | ......#'wildcard-to-regexp...... | 
| 30ea0 | 20 20 20 20 20 20 20 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 | ...............................( | 
| 30ec0 | 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 63 64    72 20 61 6c 69 61 73 29 20 6e 69 6c 20 74 29 0a | split-string.(cdr.alias).nil.t). | 
| 30ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 30f00 | 20 20 20 20 22 5c 5c 7c 22 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."\\|")...................... | 
| 30f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6e    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............fn)............... | 
| 30f40 | 20 20 20 20 20 20 20 28 73 65 74 71 20 61 6c 69    61 73 65 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 | .......(setq.aliases.nil)....... | 
| 30f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 61 6c 69 61 73 20 6e 69 6c 29 29 29 0a | .............(setq.alias.nil))). | 
| 30f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 64 72 20 61 6c 69 61 73 29 29 29 0a 20 20 20 | ...............(cdr.alias))).... | 
| 30fa0 | 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c 74    2d 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 | ........(default-extension...... | 
| 30fc0 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65    78 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 | ........(let.((ext.(file-name-ex | 
| 30fe0 | 74 65 6e 73 69 6f 6e 20 66 6e 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e | tension.fn)))................(an | 
| 31000 | 64 20 65 78 74 20 28 63 6f 6e 63 61 74 20 22 2a    2e 22 20 65 78 74 29 29 29 29 29 0a 20 20 20 20 | d.ext.(concat."*.".ext)))))..... | 
| 31020 | 20 20 28 6f 72 20 64 65 66 61 75 6c 74 2d 61 6c    69 61 73 20 64 65 66 61 75 6c 74 2d 65 78 74 65 | ..(or.default-alias.default-exte | 
| 31040 | 6e 73 69 6f 6e 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 67 6c | nsion))))..(defun.projectile--gl | 
| 31060 | 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 6c 6f | obally-ignored-file-suffixes-glo | 
| 31080 | 62 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 69    67 6e 6f 72 65 64 20 66 69 6c 65 20 73 75 66 66 | b.()..."Return.ignored.file.suff | 
| 310a0 | 69 78 65 73 20 61 73 20 61 20 6c 69 73 74 20 6f    66 20 67 6c 6f 62 20 70 61 74 74 65 72 6e 73 2e | ixes.as.a.list.of.glob.patterns. | 
| 310c0 | 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d    62 64 61 20 28 70 61 74 29 20 28 63 6f 6e 63 61 | "...(mapcar.(lambda.(pat).(conca | 
| 310e0 | 74 20 22 2a 22 20 70 61 74 29 29 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d | t."*".pat)).projectile-globally- | 
| 31100 | 69 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 73 75 66    66 69 78 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 | ignored-file-suffixes))..(defun. | 
| 31120 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 61 64    2d 73 65 61 72 63 68 2d 73 74 72 69 6e 67 2d 77 | projectile--read-search-string-w | 
| 31140 | 69 74 68 2d 64 65 66 61 75 6c 74 20 28 70 72 65    66 69 78 2d 6c 61 62 65 6c 29 0a 20 20 28 6c 65 | ith-default.(prefix-label)...(le | 
| 31160 | 74 2a 20 28 28 70 72 65 66 69 78 2d 6c 61 62 65    6c 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | t*.((prefix-label.(projectile-pr | 
| 31180 | 65 70 65 6e 64 2d 70 72 6f 6a 65 63 74 2d 6e 61    6d 65 20 70 72 65 66 69 78 2d 6c 61 62 65 6c 29 | epend-project-name.prefix-label) | 
| 311a0 | 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 61    75 6c 74 2d 76 61 6c 75 65 20 28 70 72 6f 6a 65 | )..........(default-value.(proje | 
| 311c0 | 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 69 | ctile-symbol-or-selection-at-poi | 
| 311e0 | 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 64    65 66 61 75 6c 74 2d 6c 61 62 65 6c 20 28 69 66 | nt))..........(default-label.(if | 
| 31200 | 20 28 6f 72 20 28 6e 6f 74 20 64 65 66 61 75 6c    74 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 | .(or.(not.default-value)........ | 
| 31220 | 20 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 74 72 69 6e 67 | .........................(string | 
| 31240 | 3d 20 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 20    22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | =.default-value.""))............ | 
| 31260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .................""............. | 
| 31280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    6f 72 6d 61 74 20 22 20 28 64 65 66 61 75 6c 74 | ..............(format.".(default | 
| 312a0 | 20 25 73 29 22 20 64 65 66 61 75 6c 74 2d 76 61    6c 75 65 29 29 29 29 0a 20 20 20 20 28 72 65 61 | .%s)".default-value)))).....(rea | 
| 312c0 | 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74    20 22 25 73 25 73 3a 20 22 20 70 72 65 66 69 78 | d-string.(format."%s%s:.".prefix | 
| 312e0 | 2d 6c 61 62 65 6c 20 64 65 66 61 75 6c 74 2d 6c    61 62 65 6c 29 20 6e 69 6c 20 6e 69 6c 20 64 65 | -label.default-label).nil.nil.de | 
| 31300 | 66 61 75 6c 74 2d 76 61 6c 75 65 29 29 29 0a 0a    28 64 65 66 76 61 72 20 70 72 6f 6a 65 63 74 69 | fault-value)))..(defvar.projecti | 
| 31320 | 6c 65 2d 67 72 65 70 2d 66 69 6e 64 2d 69 67 6e    6f 72 65 64 2d 70 61 74 68 73 29 0a 28 64 65 66 | le-grep-find-ignored-paths).(def | 
| 31340 | 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 75 6e 69 67 6e 6f 72 | var.projectile-grep-find-unignor | 
| 31360 | 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 65 2d 67 72 65 | ed-paths).(defvar.projectile-gre | 
| 31380 | 70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64 2d 70    61 74 74 65 72 6e 73 29 0a 28 64 65 66 76 61 72 | p-find-ignored-patterns).(defvar | 
| 313a0 | 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 72 65 64 2d | .projectile-grep-find-unignored- | 
| 313c0 | 70 61 74 74 65 72 6e 73 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 67 72 | patterns)..(defun.projectile-rgr | 
| 313e0 | 65 70 2d 64 65 66 61 75 6c 74 2d 63 6f 6d 6d 61    6e 64 20 28 72 65 67 65 78 70 20 66 69 6c 65 73 | ep-default-command.(regexp.files | 
| 31400 | 20 64 69 72 29 0a 20 20 22 43 6f 6d 70 75 74 65    20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 | .dir)..."Compute.the.command.for | 
| 31420 | 20 5c 5c 5b 72 67 72 65 70 5d 20 74 6f 20 75 73    65 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 0a 45 | .\\[rgrep].to.use.by.default...E | 
| 31440 | 78 74 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20    45 6d 61 63 73 20 32 35 2e 31 20 69 6d 70 6c 65 | xtension.of.the.Emacs.25.1.imple | 
| 31460 | 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 60 72 67    72 65 70 2d 64 65 66 61 75 6c 74 2d 63 6f 6d 6d | mentation.of.`rgrep-default-comm | 
| 31480 | 61 6e 64 27 2c 20 77 69 74 68 0a 77 68 69 63 68    20 69 74 20 73 68 61 72 65 73 20 69 74 73 20 61 | and',.with.which.it.shares.its.a | 
| 314a0 | 72 67 6c 69 73 74 2e 22 0a 20 20 28 72 65 71 75    69 72 65 20 27 66 69 6e 64 2d 64 69 72 65 64 29 | rglist."...(require.'find-dired) | 
| 314c0 | 20 20 20 20 20 20 3b 20 66 6f 72 20 60 66 69 6e    64 2d 6e 61 6d 65 2d 61 72 67 27 0a 20 20 28 67 | ......;.for.`find-name-arg'...(g | 
| 314e0 | 72 65 70 2d 65 78 70 61 6e 64 2d 74 65 6d 70 6c    61 74 65 0a 20 20 20 67 72 65 70 2d 66 69 6e 64 | rep-expand-template....grep-find | 
| 31500 | 2d 74 65 6d 70 6c 61 74 65 0a 20 20 20 72 65 67    65 78 70 0a 20 20 20 28 63 6f 6e 63 61 74 20 28 | -template....regexp....(concat.( | 
| 31520 | 73 68 65 6c 6c 2d 71 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 | shell-quote-argument."(")....... | 
| 31540 | 20 20 20 20 20 22 20 22 20 66 69 6e 64 2d 6e 61    6d 65 2d 61 72 67 20 22 20 22 0a 20 20 20 20 20 | .....".".find-name-arg."."...... | 
| 31560 | 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 23 27 73 | ......(mapconcat.............#'s | 
| 31580 | 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 20 20 | hell-quote-argument............. | 
| 315a0 | 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 66 69    6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 | (split-string.files)............ | 
| 315c0 | 20 28 63 6f 6e 63 61 74 20 22 20 2d 6f 20 22 20    66 69 6e 64 2d 6e 61 6d 65 2d 61 72 67 20 22 20 | .(concat.".-o.".find-name-arg.". | 
| 315e0 | 22 29 29 0a 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 28 73 | "))............"."............(s | 
| 31600 | 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d    65 6e 74 20 22 29 22 29 29 0a 20 20 20 64 69 72 | hell-quote-argument.")"))....dir | 
| 31620 | 0a 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20    28 61 6e 64 20 67 72 65 70 2d 66 69 6e 64 2d 69 | ....(concat.....(and.grep-find-i | 
| 31640 | 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 28 63 6f 6e | gnored-directories..........(con | 
| 31660 | 63 61 74 20 22 2d 74 79 70 65 20 64 20 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cat."-type.d.".................. | 
| 31680 | 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67    75 6d 65 6e 74 20 22 28 22 29 0a 20 20 20 20 20 | (shell-quote-argument."(")...... | 
| 316a0 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77    65 20 73 68 6f 75 6c 64 20 75 73 65 20 73 68 65 | ............;;.we.should.use.she | 
| 316c0 | 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e    74 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 | ll-quote-argument.here.......... | 
| 316e0 | 20 20 20 20 20 20 20 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 | ........".-path."............... | 
| 31700 | 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...(mapconcat................... | 
| 31720 | 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 | #'identity...................(de | 
| 31740 | 6c 71 20 6e 69 6c 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 | lq.nil.(mapcar.................. | 
| 31760 | 20 20 20 20 20 20 20 20 20 20 20 20 23 27 28 6c    61 6d 62 64 61 20 28 69 67 6e 6f 72 65 29 0a 20 | ............#'(lambda.(ignore).. | 
| 31780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 317a0 | 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 20 | (cond.((stringp.ignore)......... | 
| 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 20 20 | ................................ | 
| 317e0 | 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........... | 
| 31800 | 20 20 20 20 20 20 20 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 | ...............................( | 
| 31820 | 63 6f 6e 63 61 74 20 22 2a 2f 22 20 69 67 6e 6f    72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | concat."*/".ignore)))........... | 
| 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 28 28 63 | .............................((c | 
| 31860 | 6f 6e 73 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 | onsp.ignore).................... | 
| 31880 | 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 61 | .....................(and.(funca | 
| 318a0 | 6c 6c 20 28 63 61 72 20 69 67 6e 6f 72 65 29 20    64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ll.(car.ignore).dir)............ | 
| 318c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 318e0 | 20 20 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 | ..(shell-quote-argument......... | 
| 31900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 31920 | 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 2a    2f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......(concat."*/".............. | 
| 31940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 31960 | 20 20 20 20 20 20 20 20 20 28 63 64 72 20 69 67    6e 6f 72 65 29 29 29 29 29 29 29 0a 20 20 20 20 | .........(cdr.ignore)))))))..... | 
| 31980 | 20 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 65 70 2d 66 69 | .........................grep-fi | 
| 319a0 | 6e 64 2d 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 | nd-ignored-directories))........ | 
| 319c0 | 20 20 20 20 20 20 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 | ...........".-o.-path.")........ | 
| 319e0 | 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 20 28 | .........."."..................( | 
| 31a00 | 73 68 65 6c 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 | shell-quote-argument.")")....... | 
| 31a20 | 20 20 20 20 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 | ...........".-prune.-o.")).....( | 
| 31a40 | 61 6e 64 20 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 | and.grep-find-ignored-files..... | 
| 31a60 | 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 67 75 6d 65 | .....(concat.(shell-quote-argume | 
| 31a80 | 6e 74 20 22 21 22 29 20 22 20 2d 74 79 70 65 20    64 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | nt."!").".-type.d."............. | 
| 31aa0 | 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74    65 2d 61 72 67 75 6d 65 6e 74 20 22 28 22 29 0a | .....(shell-quote-argument."("). | 
| 31ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 77 65 20 73 68 6f 75 6c 64 20 75 73 | .................;;.we.should.us | 
| 31ae0 | 65 20 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72    67 75 6d 65 6e 74 20 68 65 72 65 0a 20 20 20 20 | e.shell-quote-argument.here..... | 
| 31b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 2d    6e 61 6d 65 20 22 0a 20 20 20 20 20 20 20 20 20 | .............".-name.".......... | 
| 31b20 | 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63    61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(mapconcat.............. | 
| 31b40 | 20 20 20 20 20 23 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 | .....#'(lambda.(ignore)......... | 
| 31b60 | 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 67 70 20 69 67 | ..............(cond.((stringp.ig | 
| 31b80 | 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 20 20 20 20 20 | nore)........................... | 
| 31ba0 | 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d    61 72 67 75 6d 65 6e 74 20 69 67 6e 6f 72 65 29 | ...(shell-quote-argument.ignore) | 
| 31bc0 | 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 28 28 | ).............................(( | 
| 31be0 | 63 6f 6e 73 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 | consp.ignore)................... | 
| 31c00 | 20 20 20 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 | ...........(and.(funcall.(car.ig | 
| 31c20 | 6e 6f 72 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 | nore).dir)...................... | 
| 31c40 | 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 65 | .............(shell-quote-argume | 
| 31c60 | 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 20 20 | nt.............................. | 
| 31c80 | 20 20 20 20 20 20 28 63 64 72 20 69 67 6e 6f 72    65 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 | ......(cdr.ignore))))))......... | 
| 31ca0 | 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 66 69 6c 65 | ..........grep-find-ignored-file | 
| 31cc0 | 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 22 20 2d 6f 20 2d 6e 61 6d 65 20 22 | s...................".-o.-name." | 
| 31ce0 | 29 0a 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 | )..................".".......... | 
| 31d00 | 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 65 6e 74 20 22 29 | ........(shell-quote-argument.") | 
| 31d20 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 22 20 2d 70 72 75 6e 65 20 2d 6f 20 | ")..................".-prune.-o. | 
| 31d40 | 22 29 29 0a 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 | ")).....(and.projectile-grep-fin | 
| 31d60 | 64 2d 69 67 6e 6f 72 65 64 2d 70 61 74 68 73 0a    20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 | d-ignored-paths..........(concat | 
| 31d80 | 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72    67 75 6d 65 6e 74 20 22 28 22 29 0a 20 20 20 20 | .(shell-quote-argument."(")..... | 
| 31da0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 2d    70 61 74 68 20 22 0a 20 20 20 20 20 20 20 20 20 | .............".-path.".......... | 
| 31dc0 | 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63    61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(mapconcat.............. | 
| 31de0 | 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 71 75 6f | .....(lambda.(ignore).(shell-quo | 
| 31e00 | 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 20 20 20 | te-argument..................... | 
| 31e20 | 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 2f 22 20 69 67 6e | ................(concat."./".ign | 
| 31e40 | 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 70 72 6f 6a 65 63 74 | ore)))...................project | 
| 31e60 | 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 68 73 0a 20 20 20 20 | ile-grep-find-ignored-paths..... | 
| 31e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20    2d 6f 20 2d 70 61 74 68 20 22 29 0a 20 20 20 20 | ..............".-o.-path.")..... | 
| 31ea0 | 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 20 20 20 20 20 20 | ............."."................ | 
| 31ec0 | 20 20 28 73 68 65 6c 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 | ..(shell-quote-argument.")").... | 
| 31ee0 | 20 20 20 20 20 20 20 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 | ..............".-prune.-o."))... | 
| 31f00 | 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 2d 69 67 6e 6f | ..(and.projectile-grep-find-igno | 
| 31f20 | 72 65 64 2d 70 61 74 74 65 72 6e 73 0a 20 20 20    20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 73 | red-patterns..........(concat.(s | 
| 31f40 | 68 65 6c 6c 2d 71 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 | hell-quote-argument."(")........ | 
| 31f60 | 20 20 20 20 20 20 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 | ..........(and.(or.projectile-gr | 
| 31f80 | 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 20 | ep-find-unignored-paths......... | 
| 31fa0 | 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 6c 65 2d 67 72 65 | ..................projectile-gre | 
| 31fc0 | 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 20 20 20 20 20 | p-find-unignored-patterns)...... | 
| 31fe0 | 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 22 0a 20 20 20 | .................(concat.".".... | 
| 32000 | 20 20 20 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 68 65 6c | ...........................(shel | 
| 32020 | 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74    20 22 28 22 29 29 29 0a 20 20 20 20 20 20 20 20 | l-quote-argument."(")))......... | 
| 32040 | 20 20 20 20 20 20 20 20 20 22 20 2d 70 61 74 68    20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........".-path.".............. | 
| 32060 | 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(mapconcat.................. | 
| 32080 | 20 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)............... | 
| 320a0 | 20 20 20 20 20 20 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 | ......(shell-quote-argument..... | 
| 320c0 | 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 70 72 65 | .................(if.(string-pre | 
| 320e0 | 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 20 20 20 | fix-p."*".ignore).ignore........ | 
| 32100 | 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 67 6e | ................(concat."*/".ign | 
| 32120 | 6f 72 65 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 | ore))))...................projec | 
| 32140 | 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. | 
| 32160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 22 20 2d 6f 20 2d 70 61 74 68 20 22 29 0a | ..................".-o.-path."). | 
| 32180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 61 6e 64 20 28 6f 72 20 70 72 6f 6a 65 63 | .................(and.(or.projec | 
| 321a0 | 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 68 73 0a 20 | tile-grep-find-unignored-paths.. | 
| 321c0 | 20 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 | .........................project | 
| 321e0 | 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 72 6e 73 | ile-grep-find-unignored-patterns | 
| 32200 | 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 6f 6e 63 61 74 20 | ).......................(concat. | 
| 32220 | 22 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 20 | "."............................. | 
| 32240 | 20 20 28 73 68 65 6c 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 | ..(shell-quote-argument.")").... | 
| 32260 | 20 20 20 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 20 2d 61 20 | ...........................".-a. | 
| 32280 | 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 | "............................... | 
| 322a0 | 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 0a 20 20 20 20 20 | (shell-quote-argument."!")...... | 
| 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 22 20 22 0a 20 20 20 | .........................".".... | 
| 322e0 | 20 20 20 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 68 65 6c | ...........................(shel | 
| 32300 | 6c 2d 71 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 | l-quote-argument."(")........... | 
| 32320 | 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 70 72 6f 6a 65 63 74 | ....................(and.project | 
| 32340 | 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 68 73 0a 20 20 | ile-grep-find-unignored-paths... | 
| 32360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 32380 | 20 28 63 6f 6e 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 | .(concat.".-path.".............. | 
| 323a0 | 20 20 20 20 20 20 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 | ..............................(m | 
| 323c0 | 61 70 63 6f 6e 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 | apconcat........................ | 
| 323e0 | 20 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 69 67 | .....................(lambda.(ig | 
| 32400 | 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 20 20 20 | nore).(shell-quote-argument..... | 
| 32420 | 20 20 20 20 20 20 20 20 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 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 | 
| 32460 | 74 20 22 2e 2f 22 20 69 67 6e 6f 72 65 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t."./".ignore)))................ | 
| 32480 | 20 20 20 20 20 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 | .............................pro | 
| 324a0 | 6a 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 68 | jectile-grep-find-unignored-path | 
| 324c0 | 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 20 | s............................... | 
| 324e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20    2d 6f 20 2d 70 61 74 68 20 22 29 29 29 0a 20 20 | ..............".-o.-path.")))... | 
| 32500 | 20 20 20 20 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 6e 64 | ............................(and | 
| 32520 | 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 72 65 64 2d | .projectile-grep-find-unignored- | 
| 32540 | 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 20 20 20 20 20 | paths........................... | 
| 32560 | 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 2d 75 6e | .........projectile-grep-find-un | 
| 32580 | 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 20 20 | ignored-patterns................ | 
| 325a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 22 20 2d 6f 22 29 0a 20 20 20 20 20 | ....................".-o")...... | 
| 325c0 | 20 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 6e 64 20 70 72 | .........................(and.pr | 
| 325e0 | 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 72 65 64 2d 70 61 74 | ojectile-grep-find-unignored-pat | 
| 32600 | 74 65 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 | terns........................... | 
| 32620 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74    20 22 20 2d 70 61 74 68 20 22 0a 20 20 20 20 20 | .........(concat.".-path."...... | 
| 32640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 32660 | 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......(mapconcat................ | 
| 32680 | 20 20 20 20 20 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 61 | .............................(la | 
| 326a0 | 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 20 20 20 20 | mbda.(ignore)................... | 
| 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 20 28 73 68 65 | ............................(she | 
| 326e0 | 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 20 20 20 20 | ll-quote-argument............... | 
| 32700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 32720 | 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 6f 72 65 | .(if.(string-prefix-p."*".ignore | 
| 32740 | 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 20 20 20 | ).ignore........................ | 
| 32760 | 20 20 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 | 
| 32780 | 74 20 22 2a 2f 22 20 69 67 6e 6f 72 65 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t."*/".ignore))))............... | 
| 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 70 72 | ..............................pr | 
| 327c0 | 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 72 65 64 2d 70 61 74 | ojectile-grep-find-unignored-pat | 
| 327e0 | 74 65 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 | terns........................... | 
| 32800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 22 20 2d 6f 20 2d 70 61 74 68 20 22 29 29 | ..................".-o.-path.")) | 
| 32820 | 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 | )............................... | 
| 32840 | 22 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 20 | "."............................. | 
| 32860 | 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61    72 67 75 6d 65 6e 74 20 22 29 22 29 29 29 0a 20 | ..(shell-quote-argument.")"))).. | 
| 32880 | 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 20 20 20 | ................"."............. | 
| 328a0 | 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74    65 2d 61 72 67 75 6d 65 6e 74 20 22 29 22 29 0a | .....(shell-quote-argument.")"). | 
| 328c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 22 20 2d 70 72 75 6e 65 20 2d 6f 20 22 29 29 | .................".-prune.-o.")) | 
| 328e0 | 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 | 
| 32900 | 63 74 69 6c 65 2d 67 72 65 70 20 28 26 6f 70 74    69 6f 6e 61 6c 20 72 65 67 65 78 70 20 61 72 67 | ctile-grep.(&optional.regexp.arg | 
| 32920 | 29 0a 20 20 22 50 65 72 66 6f 72 6d 20 72 67 72    65 70 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 | )..."Perform.rgrep.in.the.projec | 
| 32940 | 74 2e 0a 0a 57 69 74 68 20 61 20 70 72 65 66 69    78 20 41 52 47 20 61 73 6b 73 20 66 6f 72 20 66 | t...With.a.prefix.ARG.asks.for.f | 
| 32960 | 69 6c 65 73 20 28 67 6c 6f 62 62 69 6e 67 2d 61    77 61 72 65 29 20 77 68 69 63 68 20 74 6f 20 67 | iles.(globbing-aware).which.to.g | 
| 32980 | 72 65 70 20 69 6e 2e 0a 57 69 74 68 20 70 72 65    66 69 78 20 41 52 47 20 6f 66 20 60 2d 27 20 28 | rep.in..With.prefix.ARG.of.`-'.( | 
| 329a0 | 73 75 63 68 20 61 73 20 60 4d 2d 2d 27 29 2c 20    64 65 66 61 75 6c 74 20 74 68 65 20 66 69 6c 65 | such.as.`M--'),.default.the.file | 
| 329c0 | 73 20 28 77 69 74 68 6f 75 74 20 70 72 6f 6d 70    74 29 2c 0a 74 6f 20 60 70 72 6f 6a 65 63 74 69 | s.(without.prompt),.to.`projecti | 
| 329e0 | 6c 65 2d 67 72 65 70 2d 64 65 66 61 75 6c 74 2d    66 69 6c 65 73 27 2e 0a 0a 57 69 74 68 20 52 45 | le-grep-default-files'...With.RE | 
| 32a00 | 47 45 58 50 20 67 69 76 65 6e 2c 20 64 6f 6e 27    74 20 71 75 65 72 79 20 74 68 65 20 75 73 65 72 | GEXP.given,.don't.query.the.user | 
| 32a20 | 20 66 6f 72 20 61 20 72 65 67 65 78 70 2e 22 0a    20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 | .for.a.regexp."...(interactive." | 
| 32a40 | 69 5c 6e 50 22 29 0a 20 20 28 72 65 71 75 69 72    65 20 27 67 72 65 70 29 20 3b 3b 20 66 6f 72 20 | i\nP")...(require.'grep).;;.for. | 
| 32a60 | 60 72 67 72 65 70 27 0a 20 20 28 6c 65 74 2a 20    28 28 72 6f 6f 74 73 20 28 70 72 6f 6a 65 63 74 | `rgrep'...(let*.((roots.(project | 
| 32a80 | 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 20 28 70 72 6f | ile-get-project-directories.(pro | 
| 32aa0 | 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 20 | jectile-acquire-root)))......... | 
| 32ac0 | 20 28 73 65 61 72 63 68 2d 72 65 67 65 78 70 20    28 6f 72 20 72 65 67 65 78 70 0a 20 20 20 20 20 | .(search-regexp.(or.regexp...... | 
| 32ae0 | 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 69 | .......................(projecti | 
| 32b00 | 6c 65 2d 2d 72 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 | le--read-search-string-with-defa | 
| 32b20 | 75 6c 74 20 22 47 72 65 70 20 66 6f 72 22 29 29    29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 | ult."Grep.for")))..........(file | 
| 32b40 | 73 20 28 61 6e 64 20 61 72 67 20 28 6f 72 20 28    61 6e 64 20 28 65 71 75 61 6c 20 63 75 72 72 65 | s.(and.arg.(or.(and.(equal.curre | 
| 32b60 | 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 27 2d    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt-prefix-arg.'-)............... | 
| 32b80 | 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- | 
| 32ba0 | 67 72 65 70 2d 64 65 66 61 75 6c 74 2d 66 69 6c    65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | grep-default-files))............ | 
| 32bc0 | 20 20 20 20 20 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 20 28 | ..................(read-string.( | 
| 32be0 | 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 6d 65 20 | projectile-prepend-project-name. | 
| 32c00 | 22 47 72 65 70 20 69 6e 3a 20 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "Grep.in:.").................... | 
| 32c20 | 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 69 | .......................(projecti | 
| 32c40 | 6c 65 2d 67 72 65 70 2d 64 65 66 61 75 6c 74 2d    66 69 6c 65 73 29 29 29 29 29 29 0a 20 20 20 20 | le-grep-default-files))))))..... | 
| 32c60 | 28 64 6f 6c 69 73 74 20 28 72 6f 6f 74 2d 64 69    72 20 72 6f 6f 74 73 29 0a 20 20 20 20 20 20 28 | (dolist.(root-dir.roots).......( | 
| 32c80 | 72 65 71 75 69 72 65 20 27 76 63 2d 67 69 74 29    20 3b 3b 20 66 6f 72 20 60 76 63 2d 67 69 74 2d | require.'vc-git).;;.for.`vc-git- | 
| 32ca0 | 67 72 65 70 27 0a 20 20 20 20 20 20 3b 3b 20 69    6e 20 67 69 74 20 70 72 6f 6a 65 63 74 73 20 75 | grep'.......;;.in.git.projects.u | 
| 32cc0 | 73 65 72 73 20 68 61 76 65 20 74 68 65 20 6f 70    74 69 6f 6e 20 74 6f 20 75 73 65 20 60 76 63 2d | sers.have.the.option.to.use.`vc- | 
| 32ce0 | 67 69 74 2d 67 72 65 70 27 20 69 6e 73 74 65 61    64 20 6f 66 20 60 72 67 72 65 70 27 0a 20 20 20 | git-grep'.instead.of.`rgrep'.... | 
| 32d00 | 20 20 20 28 69 66 20 28 61 6e 64 20 28 65 71 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | ...(if.(and.(eq.(projectile-proj | 
| 32d20 | 65 63 74 2d 76 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 70 72 | ect-vcs).'git)................pr | 
| 32d40 | 6f 6a 65 63 74 69 6c 65 2d 75 73 65 2d 67 69 74    2d 67 72 65 70 0a 20 20 20 20 20 20 20 20 20 20 | ojectile-use-git-grep........... | 
| 32d60 | 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 27 76    63 2d 67 69 74 2d 67 72 65 70 29 29 0a 20 20 20 | .....(fboundp.'vc-git-grep)).... | 
| 32d80 | 20 20 20 20 20 20 20 28 76 63 2d 67 69 74 2d 67    72 65 70 20 73 65 61 72 63 68 2d 72 65 67 65 78 | .......(vc-git-grep.search-regex | 
| 32da0 | 70 20 28 6f 72 20 66 69 6c 65 73 20 22 22 29 20    72 6f 6f 74 2d 64 69 72 29 0a 20 20 20 20 20 20 | p.(or.files."").root-dir)....... | 
| 32dc0 | 20 20 3b 3b 20 70 61 74 68 73 20 66 6f 72 20 66    69 6e 64 2d 67 72 65 70 20 73 68 6f 75 6c 64 20 | ..;;.paths.for.find-grep.should. | 
| 32de0 | 72 65 6c 61 74 69 76 65 20 61 6e 64 20 77 69 74    68 6f 75 74 20 74 72 61 69 6c 69 6e 67 20 2f 0a | relative.and.without.trailing./. | 
| 32e00 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 67    72 65 70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64 | ........(let.((grep-find-ignored | 
| 32e20 | 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 6c 2d 75 6e 69 6f 6e 20 | -files................(cl-union. | 
| 32e40 | 28 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 64 2d 66 69 | (projectile--globally-ignored-fi | 
| 32e60 | 6c 65 2d 73 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 | le-suffixes-glob)............... | 
| 32e80 | 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 66 69 6c | ...........grep-find-ignored-fil | 
| 32ea0 | 65 73 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 65 2d 67 | es))...............(projectile-g | 
| 32ec0 | 72 65 70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64    2d 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 | rep-find-ignored-paths.......... | 
| 32ee0 | 20 20 20 20 20 20 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 | ......(append.(mapcar.(lambda.(f | 
| 32f00 | 29 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 72 65 6c | ).(directory-file-name.(file-rel | 
| 32f20 | 61 74 69 76 65 2d 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 | ative-name.f.root-dir)))........ | 
| 32f40 | 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 | 
| 32f60 | 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 0a 20 20 20 20 20 20 | ile-ignored-directories))....... | 
| 32f80 | 20 20 20 20 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 | .................(mapcar.(lambda | 
| 32fa0 | 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 20 20 20 20 20 20 20 | .(file)......................... | 
| 32fc0 | 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 66 69 6c | .........(file-relative-name.fil | 
| 32fe0 | 65 20 72 6f 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 | e.root-dir)).................... | 
| 33000 | 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 72 65 64 2d | ............(projectile-ignored- | 
| 33020 | 66 69 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 | files))))...............(project | 
| 33040 | 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 68 73 0a 20 20 | ile-grep-find-unignored-paths... | 
| 33060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70    70 65 6e 64 20 28 6d 61 70 63 61 72 20 28 6c 61 | .............(append.(mapcar.(la | 
| 33080 | 6d 62 64 61 20 28 66 29 20 28 64 69 72 65 63 74    6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 | mbda.(f).(directory-file-name.(f | 
| 330a0 | 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d    65 20 66 20 72 6f 6f 74 2d 64 69 72 29 29 29 0a | ile-relative-name.f.root-dir))). | 
| 330c0 | 20 20 20 20 20 20 20 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 | ...............................( | 
| 330e0 | 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 6f 72 69 65 73 | projectile-unignored-directories | 
| 33100 | 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 6d 61 70 63 61 | ))........................(mapca | 
| 33120 | 72 20 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 | r.(lambda.(file)................ | 
| 33140 | 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 74 69 76 65 | ..................(file-relative | 
| 33160 | 2d 6e 61 6d 65 20 66 69 6c 65 20 72 6f 6f 74 2d    64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 | -name.file.root-dir))........... | 
| 33180 | 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 | 
| 331a0 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -unignored-files))))............ | 
| 331c0 | 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 72 65 64 | ...(projectile-grep-find-ignored | 
| 331e0 | 2d 70 61 74 74 65 72 6e 73 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 70 61 74 74 65 72 6e 73 2d 74 | -patterns.(projectile-patterns-t | 
| 33200 | 6f 2d 69 67 6e 6f 72 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 | o-ignore))...............(projec | 
| 33220 | 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 72 6e | tile-grep-find-unignored-pattern | 
| 33240 | 73 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 73 75 72 65 | s.(projectile-patterns-to-ensure | 
| 33260 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67    72 65 70 2d 63 6f 6d 70 75 74 65 2d 64 65 66 61 | )))...........(grep-compute-defa | 
| 33280 | 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20    28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 | ults)...........(cl-letf.(((symb | 
| 332a0 | 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 72 67 72    65 70 2d 64 65 66 61 75 6c 74 2d 63 6f 6d 6d 61 | ol-function.'rgrep-default-comma | 
| 332c0 | 6e 64 29 20 23 27 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 | nd).#'projectile-rgrep-default-c | 
| 332e0 | 6f 6d 6d 61 6e 64 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 72 67 72 65 70 20 73 65 61 72 | ommand)).............(rgrep.sear | 
| 33300 | 63 68 2d 72 65 67 65 78 70 20 28 6f 72 20 66 69    6c 65 73 20 22 2a 20 2e 2a 22 29 20 72 6f 6f 74 | ch-regexp.(or.files."*..*").root | 
| 33320 | 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 | -dir).............(when.(get-buf | 
| 33340 | 66 65 72 20 22 2a 67 72 65 70 2a 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 | fer."*grep*")...............;;.W | 
| 33360 | 68 65 6e 20 67 72 65 70 20 69 73 20 75 73 69 6e    67 20 61 20 67 6c 6f 62 61 6c 20 2a 67 72 65 70 | hen.grep.is.using.a.global.*grep | 
| 33380 | 2a 20 62 75 66 66 65 72 20 72 65 6e 61 6d 65 20    69 74 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 | *.buffer.rename.it.to.be........ | 
| 333a0 | 20 20 20 20 20 20 20 3b 3b 20 73 63 6f 70 65 64    20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 | .......;;.scoped.to.the.current. | 
| 333c0 | 72 6f 6f 74 20 74 6f 20 61 6c 6c 6f 77 20 6d 75    6c 74 69 70 6c 65 20 63 6f 6e 63 75 72 72 65 6e | root.to.allow.multiple.concurren | 
| 333e0 | 74 20 67 72 65 70 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 6f 70 65 72 61 74 69 6f | t.grep...............;;.operatio | 
| 33400 | 6e 73 2c 20 6f 6e 65 20 70 65 72 20 72 6f 6f 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ns,.one.per.root...............( | 
| 33420 | 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66    66 65 72 20 22 2a 67 72 65 70 2a 22 0a 20 20 20 | with-current-buffer."*grep*".... | 
| 33440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65    6e 61 6d 65 2d 62 75 66 66 65 72 20 28 63 6f 6e | .............(rename-buffer.(con | 
| 33460 | 63 61 74 20 22 2a 67 72 65 70 20 3c 22 20 72 6f    6f 74 2d 64 69 72 20 22 3e 2a 22 29 29 29 29 29 | cat."*grep.<".root-dir.">*"))))) | 
| 33480 | 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 67 | ))).....(run-hooks.'projectile-g | 
| 334a0 | 72 65 70 2d 66 69 6e 69 73 68 65 64 2d 68 6f 6f    6b 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f | rep-finished-hook)))..;;;###auto | 
| 334c0 | 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 61 67 20 28 73 65 61 72 63 | load.(defun.projectile-ag.(searc | 
| 334e0 | 68 2d 74 65 72 6d 20 26 6f 70 74 69 6f 6e 61 6c    20 61 72 67 29 0a 20 20 22 52 75 6e 20 61 6e 20 | h-term.&optional.arg)..."Run.an. | 
| 33500 | 61 67 20 73 65 61 72 63 68 20 77 69 74 68 20 53    45 41 52 43 48 2d 54 45 52 4d 20 69 6e 20 74 68 | ag.search.with.SEARCH-TERM.in.th | 
| 33520 | 65 20 70 72 6f 6a 65 63 74 2e 0a 0a 57 69 74 68    20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 72 65 | e.project...With.an.optional.pre | 
| 33540 | 66 69 78 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 | fix.argument.ARG.SEARCH-TERM.is. | 
| 33560 | 69 6e 74 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 | interpreted.as.a.regular.express | 
| 33580 | 69 6f 6e 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 | ion."...(interactive....(list.(p | 
| 335a0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 61 64 2d    73 65 61 72 63 68 2d 73 74 72 69 6e 67 2d 77 69 | rojectile--read-search-string-wi | 
| 335c0 | 74 68 2d 64 65 66 61 75 6c 74 0a 20 20 20 20 20    20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 41 67 | th-default...........(format."Ag | 
| 335e0 | 20 25 73 73 65 61 72 63 68 20 66 6f 72 22 20 28    69 66 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 | .%ssearch.for".(if.current-prefi | 
| 33600 | 78 2d 61 72 67 20 22 72 65 67 65 78 70 20 22 20    22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 63 | x-arg."regexp."."")))..........c | 
| 33620 | 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72    67 29 29 0a 20 20 28 69 66 20 28 72 65 71 75 69 | urrent-prefix-arg))...(if.(requi | 
| 33640 | 72 65 20 27 61 67 20 6e 69 6c 20 27 6e 6f 65 72    72 6f 72 29 0a 20 20 20 20 20 20 28 6c 65 74 20 | re.'ag.nil.'noerror).......(let. | 
| 33660 | 28 28 61 67 2d 63 6f 6d 6d 61 6e 64 20 28 69 66    20 61 72 67 20 27 61 67 2d 72 65 67 65 78 70 20 | ((ag-command.(if.arg.'ag-regexp. | 
| 33680 | 27 61 67 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 61 67 2d 69 67 6e 6f 72 65 2d 6c 69 73 | 'ag)).............(ag-ignore-lis | 
| 336a0 | 74 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.(delq.nil..................... | 
| 336c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64    65 6c 65 74 65 2d 64 75 70 73 0a 20 20 20 20 20 | ..............(delete-dups...... | 
| 336e0 | 20 20 20 20 20 20 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 | 
| 33700 | 70 70 65 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 | ppend........................... | 
| 33720 | 20 20 20 20 20 20 20 20 20 20 61 67 2d 69 67 6e    6f 72 65 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 | ..........ag-ignore-list........ | 
| 33740 | 20 20 20 20 20 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 | .............................(pr | 
| 33760 | 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64    2d 66 69 6c 65 73 2d 72 65 6c 29 0a 20 20 20 20 | ojectile-ignored-files-rel)..... | 
| 33780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 337a0 | 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 72 69 65 73 2d | (projectile-ignored-directories- | 
| 337c0 | 72 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rel)............................ | 
| 337e0 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 67 6c 6f 62 61 6c 6c 79 2d 69 | .........(projectile--globally-i | 
| 33800 | 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 73 75 66 66    69 78 65 73 2d 67 6c 6f 62 29 0a 20 20 20 20 20 | gnored-file-suffixes-glob)...... | 
| 33820 | 20 20 20 20 20 20 20 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 | ...............................; | 
| 33840 | 3b 20 61 67 20 73 75 70 70 6f 72 74 73 20 67 69    74 20 69 67 6e 6f 72 65 20 66 69 6c 65 73 20 64 | ;.ag.supports.git.ignore.files.d | 
| 33860 | 69 72 65 63 74 6c 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 | irectly......................... | 
| 33880 | 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c    65 73 73 20 28 65 71 20 28 70 72 6f 6a 65 63 74 | ............(unless.(eq.(project | 
| 338a0 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 76 63 73 29    20 27 67 69 74 29 0a 20 20 20 20 20 20 20 20 20 | ile-project-vcs).'git).......... | 
| 338c0 | 20 20 20 20 20 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 70 | .............................(ap | 
| 338e0 | 70 65 6e 64 20 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 | pend.grep-find-ignored-files.... | 
| 33900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 33920 | 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 72 | ...........grep-find-ignored-dir | 
| 33940 | 65 63 74 6f 72 69 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 | ectories........................ | 
| 33960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 27 28 29 29 29 29 29 29 29 | .......................'())))))) | 
| 33980 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    72 65 73 65 74 20 74 68 65 20 70 72 65 66 69 78 | .............;;.reset.the.prefix | 
| 339a0 | 20 61 72 67 2c 20 6f 74 68 65 72 77 69 73 65 20    69 74 20 77 69 6c 6c 20 61 66 66 65 63 74 20 74 | .arg,.otherwise.it.will.affect.t | 
| 339c0 | 68 65 20 61 67 2d 63 6f 6d 6d 61 6e 64 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 | he.ag-command.............(curre | 
| 339e0 | 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 6e 69    6c 29 29 0a 20 20 20 20 20 20 20 20 28 66 75 6e | nt-prefix-arg.nil)).........(fun | 
| 33a00 | 63 61 6c 6c 20 61 67 2d 63 6f 6d 6d 61 6e 64 20    73 65 61 72 63 68 2d 74 65 72 6d 20 28 70 72 6f | call.ag-command.search-term.(pro | 
| 33a20 | 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 65 72 72 | jectile-acquire-root))).....(err | 
| 33a40 | 6f 72 20 22 50 61 63 6b 61 67 65 20 27 61 67 27    20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c | or."Package.'ag'.is.not.availabl | 
| 33a60 | 65 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 20 70 72 6f | e")))..;;;###autoload.(defun.pro | 
| 33a80 | 6a 65 63 74 69 6c 65 2d 72 69 70 67 72 65 70 20    28 73 65 61 72 63 68 2d 74 65 72 6d 20 26 6f 70 | jectile-ripgrep.(search-term.&op | 
| 33aa0 | 74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 52    75 6e 20 61 20 72 69 70 67 72 65 70 20 28 72 67 | tional.arg)..."Run.a.ripgrep.(rg | 
| 33ac0 | 29 20 73 65 61 72 63 68 20 77 69 74 68 20 60 53    45 41 52 43 48 2d 54 45 52 4d 27 20 61 74 20 63 | ).search.with.`SEARCH-TERM'.at.c | 
| 33ae0 | 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 72    6f 6f 74 2e 0a 0a 57 69 74 68 20 61 6e 20 6f 70 | urrent.project.root...With.an.op | 
| 33b00 | 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 20 61 72    67 75 6d 65 6e 74 20 41 52 47 20 53 45 41 52 43 | tional.prefix.argument.ARG.SEARC | 
| 33b20 | 48 2d 54 45 52 4d 20 69 73 20 69 6e 74 65 72 70    72 65 74 65 64 20 61 73 20 61 0a 72 65 67 75 6c | H-TERM.is.interpreted.as.a.regul | 
| 33b40 | 61 72 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a    54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 64 65 70 | ar.expression...This.command.dep | 
| 33b60 | 65 6e 64 73 20 6f 6e 20 6f 66 20 74 68 65 20 45    6d 61 63 73 20 70 61 63 6b 61 67 65 73 20 72 69 | ends.on.of.the.Emacs.packages.ri | 
| 33b80 | 70 67 72 65 70 20 6f 72 20 72 67 20 62 65 69 6e    67 0a 69 6e 73 74 61 6c 6c 65 64 20 74 6f 20 77 | pgrep.or.rg.being.installed.to.w | 
| 33ba0 | 6f 72 6b 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 | ork."...(interactive....(list.(p | 
| 33bc0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 61 64 2d    73 65 61 72 63 68 2d 73 74 72 69 6e 67 2d 77 69 | rojectile--read-search-string-wi | 
| 33be0 | 74 68 2d 64 65 66 61 75 6c 74 0a 20 20 20 20 20    20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 52 69 | th-default...........(format."Ri | 
| 33c00 | 70 67 72 65 70 20 25 73 73 65 61 72 63 68 20 66    6f 72 22 20 28 69 66 20 63 75 72 72 65 6e 74 2d | pgrep.%ssearch.for".(if.current- | 
| 33c20 | 70 72 65 66 69 78 2d 61 72 67 20 22 72 65 67 65    78 70 20 22 20 22 22 29 29 29 0a 20 20 20 20 20 | prefix-arg."regexp."."")))...... | 
| 33c40 | 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72 65 66    69 78 2d 61 72 67 29 29 0a 20 20 28 6c 65 74 20 | ....current-prefix-arg))...(let. | 
| 33c60 | 28 28 61 72 67 73 20 28 6d 61 70 63 61 72 20 28    6c 61 6d 62 64 61 20 28 76 61 6c 29 20 28 63 6f | ((args.(mapcar.(lambda.(val).(co | 
| 33c80 | 6e 63 61 74 20 22 2d 2d 67 6c 6f 62 20 21 22 20    76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ncat."--glob.!".val))........... | 
| 33ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70    65 6e 64 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 | ............(append.projectile-g | 
| 33cc0 | 6c 6f 62 61 6c 6c 79 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 | lobally-ignored-files........... | 
| 33ce0 | 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 6c 65 2d 67 | ....................projectile-g | 
| 33d00 | 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 73 29 29 29 29 0a | lobally-ignored-directories)))). | 
| 33d20 | 20 20 20 20 3b 3b 20 77 65 20 72 65 6c 79 20 6f    6e 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 70 | ....;;.we.rely.on.the.external.p | 
| 33d40 | 61 63 6b 61 67 65 73 20 72 69 70 67 72 65 70 20    61 6e 64 20 72 67 20 66 6f 72 20 74 68 65 20 61 | ackages.ripgrep.and.rg.for.the.a | 
| 33d60 | 63 74 75 61 6c 20 73 65 61 72 63 68 0a 20 20 20    20 3b 3b 0a 20 20 20 20 3b 3b 20 66 69 72 73 74 | ctual.search.....;;.....;;.first | 
| 33d80 | 20 77 65 20 63 68 65 63 6b 20 69 66 20 77 65 20    63 61 6e 20 6c 6f 61 64 20 72 69 70 67 72 65 70 | .we.check.if.we.can.load.ripgrep | 
| 33da0 | 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 72 65 71    75 69 72 65 20 27 72 69 70 67 72 65 70 20 6e 69 | .....(cond.((require.'ripgrep.ni | 
| 33dc0 | 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 69 70 67 72 65 70 2d | l.'noerror)............(ripgrep- | 
| 33de0 | 72 65 67 65 78 70 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 | regexp.search-term.............. | 
| 33e00 | 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 71 75 69 72 | ..............(projectile-acquir | 
| 33e20 | 65 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 20 20 20 | e-root)......................... | 
| 33e40 | 20 20 20 28 69 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 | ...(if.arg...................... | 
| 33e60 | 20 20 20 20 20 20 20 20 20 20 61 72 67 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........args.................. | 
| 33e80 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e    73 20 22 2d 2d 66 69 78 65 64 2d 73 74 72 69 6e | ............(cons."--fixed-strin | 
| 33ea0 | 67 73 20 2d 2d 68 69 64 64 65 6e 22 20 61 72 67    73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | gs.--hidden".args))))........... | 
| 33ec0 | 3b 3b 20 61 6e 64 20 74 68 65 6e 20 77 65 20 74    72 79 20 72 67 0a 20 20 20 20 20 20 20 20 20 20 | ;;.and.then.we.try.rg........... | 
| 33ee0 | 28 28 72 65 71 75 69 72 65 20 27 72 67 20 6e 69    6c 20 27 6e 6f 65 72 72 6f 72 29 0a 20 20 20 20 | ((require.'rg.nil.'noerror)..... | 
| 33f00 | 20 20 20 20 20 20 20 28 72 67 2d 72 75 6e 20 73    65 61 72 63 68 2d 74 65 72 6d 0a 20 20 20 20 20 | .......(rg-run.search-term...... | 
| 33f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2a    22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .............."*"............... | 
| 33f40 | 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 6c 20 66    69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 | ........;;.all.files............ | 
| 33f60 | 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 6f 74 | ........(projectile-acquire-root | 
| 33f80 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6e 6f 74 20 61 72 67 29 20 20 | )....................(not.arg).. | 
| 33fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 6c 69 74 65 72 61 6c 20 73 65 61 72 63 68 | ...............;;.literal.search | 
| 33fc0 | 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 6e 69 6c 20 20 20 20 20 20 20 20 | ?....................nil........ | 
| 33fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 6e 6f 20 6e 65 65 64 20 74 6f 20 63 6f 6e | ...............;;.no.need.to.con | 
| 34000 | 66 69 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 61 72 67 73 29 29 0a 20 | firm....................args)).. | 
| 34020 | 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72    6f 72 20 22 50 61 63 6b 61 67 65 73 20 60 72 69 | .........(t.(error."Packages.`ri | 
| 34040 | 70 67 72 65 70 27 20 61 6e 64 20 60 72 67 27 20    61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c | pgrep'.and.`rg'.are.not.availabl | 
| 34060 | 65 22 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 66 69 6e 64 2d | e")))))..(defun.projectile-find- | 
| 34080 | 72 65 66 65 72 65 6e 63 65 73 20 28 26 6f 70 74    69 6f 6e 61 6c 20 73 79 6d 62 6f 6c 29 0a 20 20 | references.(&optional.symbol)... | 
| 340a0 | 22 46 69 6e 64 20 61 6c 6c 20 72 65 66 65 72 65    6e 63 65 73 20 74 6f 20 53 59 4d 42 4f 4c 20 69 | "Find.all.references.to.SYMBOL.i | 
| 340c0 | 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72    6f 6a 65 63 74 2e 0a 0a 41 20 74 68 69 6e 20 77 | n.the.current.project...A.thin.w | 
| 340e0 | 72 61 70 70 65 72 20 61 72 6f 75 6e 64 20 60 78    72 65 66 2d 72 65 66 65 72 65 6e 63 65 73 2d 69 | rapper.around.`xref-references-i | 
| 34100 | 6e 2d 64 69 72 65 63 74 6f 72 79 27 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | n-directory'."...(interactive).. | 
| 34120 | 20 28 77 68 65 6e 20 28 61 6e 64 20 28 66 62 6f    75 6e 64 70 20 27 78 72 65 66 2d 72 65 66 65 72 | .(when.(and.(fboundp.'xref-refer | 
| 34140 | 65 6e 63 65 73 2d 69 6e 2d 64 69 72 65 63 74 6f    72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ences-in-directory)............. | 
| 34160 | 20 28 66 62 6f 75 6e 64 70 20 27 78 72 65 66 2d    2d 73 68 6f 77 2d 78 72 65 66 73 29 29 0a 20 20 | .(fboundp.'xref--show-xrefs))... | 
| 34180 | 20 20 28 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 74 69 6c | ..(let.((project-root.(projectil | 
| 341a0 | 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 28 73 79 6d 62 | e-acquire-root))...........(symb | 
| 341c0 | 6f 6c 20 28 6f 72 20 73 79 6d 62 6f 6c 20 28 72    65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 | ol.(or.symbol.(read-from-minibuf | 
| 341e0 | 66 65 72 20 22 4c 6f 6f 6b 75 70 20 69 6e 20 70    72 6f 6a 65 63 74 3a 20 22 20 28 70 72 6f 6a 65 | fer."Lookup.in.project:.".(proje | 
| 34200 | 63 74 69 6c 65 2d 73 79 6d 62 6f 6c 2d 61 74 2d    70 6f 69 6e 74 29 29 29 29 29 0a 20 20 20 20 20 | ctile-symbol-at-point)))))...... | 
| 34220 | 20 28 78 72 65 66 2d 2d 73 68 6f 77 2d 78 72 65    66 73 20 28 78 72 65 66 2d 72 65 66 65 72 65 6e | .(xref--show-xrefs.(xref-referen | 
| 34240 | 63 65 73 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79    20 73 79 6d 62 6f 6c 20 70 72 6f 6a 65 63 74 2d | ces-in-directory.symbol.project- | 
| 34260 | 72 6f 6f 74 29 20 6e 69 6c 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | root).nil))))..(defun.projectile | 
| 34280 | 2d 74 61 67 73 2d 65 78 63 6c 75 64 65 2d 70 61    74 74 65 72 6e 73 20 28 29 0a 20 20 22 52 65 74 | -tags-exclude-patterns.()..."Ret | 
| 342a0 | 75 72 6e 20 61 20 73 74 72 69 6e 67 20 77 69 74    68 20 65 78 63 6c 75 64 65 20 70 61 74 74 65 72 | urn.a.string.with.exclude.patter | 
| 342c0 | 6e 73 20 66 6f 72 20 63 74 61 67 73 2e 22 0a 20    20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d | ns.for.ctags."...(mapconcat.(lam | 
| 342e0 | 62 64 61 20 28 70 61 74 74 65 72 6e 29 20 28 66    6f 72 6d 61 74 20 22 2d 2d 65 78 63 6c 75 64 65 | bda.(pattern).(format."--exclude | 
| 34300 | 3d 5c 22 25 73 5c 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 | =\"%s\""........................ | 
| 34320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d | ................(directory-file- | 
| 34340 | 6e 61 6d 65 20 70 61 74 74 65 72 6e 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 | name.pattern)))..............(ap | 
| 34360 | 70 65 6e 64 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 65 2d 69 | pend...............(projectile-i | 
| 34380 | 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)......... | 
| 343a0 | 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 69 67 | ......(projectile-patterns-to-ig | 
| 343c0 | 6e 6f 72 65 29 29 20 22 20 22 29 29 0a 0a 3b 3b    3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 | nore))."."))..;;;###autoload.(de | 
| 343e0 | 66 75 6e 20 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 20 28 | fun.projectile-regenerate-tags.( | 
| 34400 | 29 0a 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 73 20 5b 65 | )..."Regenerate.the.project's.[e | 
| 34420 | 7c 67 5d 74 61 67 73 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 | |g]tags."...(interactive)...(if. | 
| 34440 | 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 27 67 67    74 61 67 73 2d 6d 6f 64 65 29 0a 20 20 20 20 20 | (and.(boundp.'ggtags-mode)...... | 
| 34460 | 20 20 20 20 20 20 28 6d 65 6d 71 20 70 72 6f 6a    65 63 74 69 6c 65 2d 74 61 67 73 2d 62 61 63 6b | ......(memq.projectile-tags-back | 
| 34480 | 65 6e 64 20 27 28 61 75 74 6f 20 67 67 74 61 67    73 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 | end.'(auto.ggtags))).......(prog | 
| 344a0 | 6e 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20    28 28 67 67 74 61 67 73 2d 70 72 6f 6a 65 63 74 | n.........(let*.((ggtags-project | 
| 344c0 | 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 29 | -root.(projectile-acquire-root)) | 
| 344e0 | 0a 20 20 20 20 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 | ................(default-directo | 
| 34500 | 72 79 20 67 67 74 61 67 73 2d 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 20 20 | ry.ggtags-project-root))........ | 
| 34520 | 20 20 20 28 67 67 74 61 67 73 2d 65 6e 73 75 72    65 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 20 | ...(ggtags-ensure-project)...... | 
| 34540 | 20 20 20 20 20 28 67 67 74 61 67 73 2d 75 70 64    61 74 65 2d 74 61 67 73 20 74 29 29 29 0a 20 20 | .....(ggtags-update-tags.t)))... | 
| 34560 | 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 69 | ..(let*.((project-root.(projecti | 
| 34580 | 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 28 74 61 | le-acquire-root))............(ta | 
| 345a0 | 67 73 2d 65 78 63 6c 75 64 65 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 74 61 67 73 2d 65 78 63 6c | gs-exclude.(projectile-tags-excl | 
| 345c0 | 75 64 65 2d 70 61 74 74 65 72 6e 73 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 75 | ude-patterns))............(defau | 
| 345e0 | 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 70 72 6f    6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 20 20 20 | lt-directory.project-root)...... | 
| 34600 | 20 20 20 20 20 20 28 74 61 67 73 2d 66 69 6c 65    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 | ......(tags-file.(expand-file-na | 
| 34620 | 6d 65 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 0a 20 | me.projectile-tags-file-name)).. | 
| 34640 | 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 61    6e 64 20 28 66 6f 72 6d 61 74 20 70 72 6f 6a 65 | ..........(command.(format.proje | 
| 34660 | 63 74 69 6c 65 2d 74 61 67 73 2d 63 6f 6d 6d 61    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ctile-tags-command.............. | 
| 34680 | 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 72 65 6d 6f 74 65 2d | ...............(or.(file-remote- | 
| 346a0 | 70 20 74 61 67 73 2d 66 69 6c 65 20 27 6c 6f 63    61 6c 6e 61 6d 65 29 20 74 61 67 73 2d 66 69 6c | p.tags-file.'localname).tags-fil | 
| 346c0 | 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 74 | e).............................t | 
| 346e0 | 61 67 73 2d 65 78 63 6c 75 64 65 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ags-exclude..................... | 
| 34700 | 20 20 20 20 20 20 20 20 22 2e 22 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 2d 6f | ........"."))............shell-o | 
| 34720 | 75 74 70 75 74 20 65 78 69 74 2d 63 6f 64 65 29    0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d | utput.exit-code).......(with-tem | 
| 34740 | 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20    20 28 73 65 74 71 20 65 78 69 74 2d 63 6f 64 65 | p-buffer.........(setq.exit-code | 
| 34760 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 63 65 73 73 2d 66 69 6c 65 2d 73 68 65 | ...............(process-file-she | 
| 34780 | 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61    6e 64 20 6e 69 6c 20 28 63 75 72 72 65 6e 74 2d | ll-command.command.nil.(current- | 
| 347a0 | 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 73 68 65 6c 6c 2d 6f 75 74 | buffer))...............shell-out | 
| 347c0 | 70 75 74 20 28 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 | put.(string-trim................ | 
| 347e0 | 20 20 20 20 20 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 | .............(buffer-substring.( | 
| 34800 | 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 29 0a 20 20 20 20 20 | point-min).(point-max)))))...... | 
| 34820 | 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20    65 78 69 74 2d 63 6f 64 65 29 0a 20 20 20 20 20 | .(unless.(zerop.exit-code)...... | 
| 34840 | 20 20 20 28 65 72 72 6f 72 20 73 68 65 6c 6c 2d    6f 75 74 70 75 74 29 29 0a 20 20 20 20 20 20 28 | ...(error.shell-output)).......( | 
| 34860 | 76 69 73 69 74 2d 74 61 67 73 2d 74 61 62 6c 65    20 74 61 67 73 2d 66 69 6c 65 29 0a 20 20 20 20 | visit-tags-table.tags-file)..... | 
| 34880 | 20 20 28 6d 65 73 73 61 67 65 20 22 52 65 67 65    6e 65 72 61 74 65 64 20 25 73 22 20 74 61 67 73 | ..(message."Regenerated.%s".tags | 
| 348a0 | 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 76 69 73 | -file))))..(defun.projectile-vis | 
| 348c0 | 69 74 2d 70 72 6f 6a 65 63 74 2d 74 61 67 73 2d    74 61 62 6c 65 20 28 29 0a 20 20 22 56 69 73 69 | it-project-tags-table.()..."Visi | 
| 348e0 | 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72    6f 6a 65 63 74 27 73 20 74 61 67 73 20 74 61 62 | t.the.current.project's.tags.tab | 
| 34900 | 6c 65 2e 22 0a 20 20 28 77 68 65 6e 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | le."...(when.(projectile-project | 
| 34920 | 2d 70 29 0a 20 20 20 20 28 6c 65 74 20 28 28 74    61 67 73 2d 66 69 6c 65 20 28 70 72 6f 6a 65 63 | -p).....(let.((tags-file.(projec | 
| 34940 | 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74    20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 61 67 73 | tile-expand-root.projectile-tags | 
| 34960 | 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 20    20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d | -file-name))).......(when.(file- | 
| 34980 | 65 78 69 73 74 73 2d 70 20 74 61 67 73 2d 66 69    6c 65 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 | exists-p.tags-file).........(wit | 
| 349a0 | 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73    20 22 45 72 72 6f 72 20 6c 6f 61 64 69 6e 67 20 | h-demoted-errors."Error.loading. | 
| 349c0 | 74 61 67 73 2d 66 69 6c 65 3a 20 25 73 22 0a 20    20 20 20 20 20 20 20 20 20 28 76 69 73 69 74 2d | tags-file:.%s"...........(visit- | 
| 349e0 | 74 61 67 73 2d 74 61 62 6c 65 20 74 61 67 73 2d    66 69 6c 65 20 74 29 29 29 29 29 29 0a 0a 28 64 | tags-table.tags-file.t))))))..(d | 
| 34a00 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    64 65 74 65 72 6d 69 6e 65 2d 66 69 6e 64 2d 74 | efun.projectile-determine-find-t | 
| 34a20 | 61 67 2d 66 6e 20 28 29 0a 20 20 22 44 65 74 65    72 6d 69 6e 65 20 77 68 69 63 68 20 66 75 6e 63 | ag-fn.()..."Determine.which.func | 
| 34a40 | 74 69 6f 6e 20 74 6f 20 75 73 65 20 66 6f 72 20    61 20 63 61 6c 6c 20 74 6f 20 60 70 72 6f 6a 65 | tion.to.use.for.a.call.to.`proje | 
| 34a60 | 63 74 69 6c 65 2d 66 69 6e 64 2d 74 61 67 27 2e    22 0a 20 20 28 6f 72 0a 20 20 20 28 63 6f 6e 64 | ctile-find-tag'."...(or....(cond | 
| 34a80 | 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 6b 65 6e | .....((eq.projectile-tags-backen | 
| 34aa0 | 64 20 27 61 75 74 6f 29 0a 20 20 20 20 20 28 63    6f 6e 64 0a 20 20 20 20 20 20 28 28 66 62 6f 75 | d.'auto)......(cond.......((fbou | 
| 34ac0 | 6e 64 70 20 27 67 67 74 61 67 73 2d 66 69 6e 64    2d 74 61 67 2d 64 77 69 6d 29 0a 20 20 20 20 20 | ndp.'ggtags-find-tag-dwim)...... | 
| 34ae0 | 20 20 27 67 67 74 61 67 73 2d 66 69 6e 64 2d 74    61 67 2d 64 77 69 6d 29 0a 20 20 20 20 20 20 28 | ..'ggtags-find-tag-dwim).......( | 
| 34b00 | 28 66 62 6f 75 6e 64 70 20 27 78 72 65 66 2d 66    69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 29 | (fboundp.'xref-find-definitions) | 
| 34b20 | 0a 20 20 20 20 20 20 20 27 78 72 65 66 2d 66 69    6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 29 0a | ........'xref-find-definitions). | 
| 34b40 | 20 20 20 20 20 20 28 28 66 62 6f 75 6e 64 70 20    27 65 74 61 67 73 2d 73 65 6c 65 63 74 2d 66 69 | ......((fboundp.'etags-select-fi | 
| 34b60 | 6e 64 2d 74 61 67 29 0a 20 20 20 20 20 20 20 27    65 74 61 67 73 2d 73 65 6c 65 63 74 2d 66 69 6e | nd-tag)........'etags-select-fin | 
| 34b80 | 64 2d 74 61 67 29 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 | d-tag))).....((eq.projectile-tag | 
| 34ba0 | 73 2d 62 61 63 6b 65 6e 64 20 27 78 72 65 66 29    0a 20 20 20 20 20 28 77 68 65 6e 20 28 66 62 6f | s-backend.'xref)......(when.(fbo | 
| 34bc0 | 75 6e 64 70 20 27 78 72 65 66 2d 66 69 6e 64 2d    64 65 66 69 6e 69 74 69 6f 6e 73 29 0a 20 20 20 | undp.'xref-find-definitions).... | 
| 34be0 | 20 20 20 20 27 78 72 65 66 2d 66 69 6e 64 2d 64    65 66 69 6e 69 74 69 6f 6e 73 29 29 0a 20 20 20 | ....'xref-find-definitions)).... | 
| 34c00 | 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 6b 65 6e 64 20 27 67 | .((eq.projectile-tags-backend.'g | 
| 34c20 | 67 74 61 67 73 29 0a 20 20 20 20 20 28 77 68 65    6e 20 28 66 62 6f 75 6e 64 70 20 27 67 67 74 61 | gtags)......(when.(fboundp.'ggta | 
| 34c40 | 67 73 2d 66 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 | gs-find-tag-dwim)........'ggtags | 
| 34c60 | 2d 66 69 6e 64 2d 74 61 67 2d 64 77 69 6d 29 29    0a 20 20 20 20 28 28 65 71 20 70 72 6f 6a 65 63 | -find-tag-dwim)).....((eq.projec | 
| 34c80 | 74 69 6c 65 2d 74 61 67 73 2d 62 61 63 6b 65 6e    64 20 27 65 74 61 67 73 2d 73 65 6c 65 63 74 29 | tile-tags-backend.'etags-select) | 
| 34ca0 | 0a 20 20 20 20 20 28 77 68 65 6e 20 28 66 62 6f    75 6e 64 70 20 27 65 74 61 67 73 2d 73 65 6c 65 | ......(when.(fboundp.'etags-sele | 
| 34cc0 | 63 74 2d 66 69 6e 64 2d 74 61 67 29 0a 20 20 20    20 20 20 20 27 65 74 61 67 73 2d 73 65 6c 65 63 | ct-find-tag)........'etags-selec | 
| 34ce0 | 74 2d 66 69 6e 64 2d 74 61 67 29 29 29 0a 20 20    20 27 66 69 6e 64 2d 74 61 67 29 29 0a 0a 3b 3b | t-find-tag)))....'find-tag))..;; | 
| 34d00 | 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 66 | ;###autoload.(defun.projectile-f | 
| 34d20 | 69 6e 64 2d 74 61 67 20 28 29 0a 20 20 22 46 69    6e 64 20 74 61 67 20 69 6e 20 70 72 6f 6a 65 63 | ind-tag.()..."Find.tag.in.projec | 
| 34d40 | 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 | 
| 34d60 | 65 2d 76 69 73 69 74 2d 70 72 6f 6a 65 63 74 2d    74 61 67 73 2d 74 61 62 6c 65 29 0a 20 20 3b 3b | e-visit-project-tags-table)...;; | 
| 34d80 | 20 41 75 74 6f 2d 64 69 73 63 6f 76 65 72 20 74    68 65 20 75 73 65 72 27 73 20 70 72 65 66 65 72 | .Auto-discover.the.user's.prefer | 
| 34da0 | 65 6e 63 65 20 66 6f 72 20 74 61 67 73 0a 20 20    28 6c 65 74 20 28 28 66 69 6e 64 2d 74 61 67 2d | ence.for.tags...(let.((find-tag- | 
| 34dc0 | 66 6e 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64    65 74 65 72 6d 69 6e 65 2d 66 69 6e 64 2d 74 61 | fn.(projectile-determine-find-ta | 
| 34de0 | 67 2d 66 6e 29 29 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 | g-fn))).....(call-interactively. | 
| 34e00 | 66 69 6e 64 2d 74 61 67 2d 66 6e 29 29 29 0a 0a    28 64 65 66 6d 61 63 72 6f 20 70 72 6f 6a 65 63 | find-tag-fn)))..(defmacro.projec | 
| 34e20 | 74 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c    74 2d 64 69 72 20 28 64 69 72 20 26 72 65 73 74 | tile-with-default-dir.(dir.&rest | 
| 34e40 | 20 62 6f 64 79 29 0a 20 20 22 49 6e 76 6f 6b 65    20 69 6e 20 44 49 52 20 74 68 65 20 42 4f 44 59 | .body)..."Invoke.in.DIR.the.BODY | 
| 34e60 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64    65 62 75 67 20 74 29 20 28 69 6e 64 65 6e 74 20 | ."...(declare.(debug.t).(indent. | 
| 34e80 | 31 29 29 0a 20 20 60 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 | 1))...`(let.((default-directory. | 
| 34ea0 | 2c 64 69 72 29 29 0a 20 20 20 20 20 2c 40 62 6f    64 79 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f | ,dir))......,@body))..;;;###auto | 
| 34ec0 | 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 63 6f 6d 6d 61 | load.(defun.projectile-run-comma | 
| 34ee0 | 6e 64 2d 69 6e 2d 72 6f 6f 74 20 28 29 0a 20 20    22 49 6e 76 6f 6b 65 20 60 65 78 65 63 75 74 65 | nd-in-root.()..."Invoke.`execute | 
| 34f00 | 2d 65 78 74 65 6e 64 65 64 2d 63 6f 6d 6d 61 6e    64 27 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 | -extended-command'.in.the.projec | 
| 34f20 | 74 27 73 20 72 6f 6f 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 | t's.root."...(interactive)...(pr | 
| 34f40 | 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 28 70 72 6f 6a 65 | ojectile-with-default-dir.(proje | 
| 34f60 | 63 74 69 6c 65 2d 61 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 | ctile-acquire-root).....(call-in | 
| 34f80 | 74 65 72 61 63 74 69 76 65 6c 79 20 23 27 65 78    65 63 75 74 65 2d 65 78 74 65 6e 64 65 64 2d 63 | teractively.#'execute-extended-c | 
| 34fa0 | 6f 6d 6d 61 6e 64 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 | ommand)))..;;;###autoload.(defun | 
| 34fc0 | 20 70 72 6f 6a 65 63 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 | .projectile-run-shell-command-in | 
| 34fe0 | 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 75 74 70 75 74 2d | -root.(command.&optional.output- | 
| 35000 | 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 76 6f 6b 65 20 60 | buffer.error-buffer)..."Invoke.` | 
| 35020 | 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 69    6e 20 74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 | shell-command'.in.the.project's. | 
| 35040 | 72 6f 6f 74 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 72 65 61 | root."...(interactive.(list.(rea | 
| 35060 | 64 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20    22 53 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 3a 20 | d-shell-command."Shell.command:. | 
| 35080 | 22 29 29 29 0a 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 | ")))...(projectile-with-default- | 
| 350a0 | 64 69 72 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 | dir.(projectile-acquire-root)... | 
| 350c0 | 20 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64    20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 2d | ..(shell-command.command.output- | 
| 350e0 | 62 75 66 66 65 72 20 65 72 72 6f 72 2d 62 75 66    66 65 72 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 | buffer.error-buffer)))..;;;###au | 
| 35100 | 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 61 73 79 | toload.(defun.projectile-run-asy | 
| 35120 | 6e 63 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 | nc-shell-command-in-root.(comman | 
| 35140 | 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- | 
| 35160 | 62 75 66 66 65 72 29 0a 20 20 22 49 6e 76 6f 6b    65 20 60 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 | buffer)..."Invoke.`async-shell-c | 
| 35180 | 6f 6d 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 | ommand'.in.the.project's.root.". | 
| 351a0 | 20 20 28 69 6e 74 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 | ..(interactive.(list.(read-shell | 
| 351c0 | 2d 63 6f 6d 6d 61 6e 64 20 22 41 73 79 6e 63 20    73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 3a 20 22 | -command."Async.shell.command:." | 
| 351e0 | 29 29 29 0a 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 | )))...(projectile-with-default-d | 
| 35200 | 69 72 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 | ir.(projectile-acquire-root).... | 
| 35220 | 20 28 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f    6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 20 6f 75 | .(async-shell-command.command.ou | 
| 35240 | 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 29 29 0a 0a 3b 3b 3b | tput-buffer.error-buffer)))..;;; | 
| 35260 | 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 75 | ###autoload.(defun.projectile-ru | 
| 35280 | 6e 2d 67 64 62 20 28 29 0a 20 20 22 49 6e 76 6f    6b 65 20 60 67 64 62 27 20 69 6e 20 74 68 65 20 | n-gdb.()..."Invoke.`gdb'.in.the. | 
| 352a0 | 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 65 29 | project's.root."...(interactive) | 
| 352c0 | 0a 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 72 20 | ...(projectile-with-default-dir. | 
| 352e0 | 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 28 63 | (projectile-acquire-root).....(c | 
| 35300 | 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c    79 20 27 67 64 62 29 29 29 0a 0a 3b 3b 3b 23 23 | all-interactively.'gdb)))..;;;## | 
| 35320 | 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- | 
| 35340 | 73 68 65 6c 6c 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 | shell.(&optional.arg)..."Invoke. | 
| 35360 | 60 73 68 65 6c 6c 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 | `shell'.in.the.project's.root... | 
| 35380 | 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 66 69 63 20 73 | Switch.to.the.project.specific.s | 
| 353a0 | 68 65 6c 6c 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 | hell.buffer.if.it.already.exists | 
| 353c0 | 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 20 74 6f 20 | ...Use.a.prefix.argument.ARG.to. | 
| 353e0 | 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 65 | indicate.creation.of.a.new.proce | 
| 35400 | 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 22 50 22 29 | ss.instead."...(interactive."P") | 
| 35420 | 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 2d 61 63 | ...(let.((project.(projectile-ac | 
| 35440 | 71 75 69 72 65 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 | quire-root))).....(projectile-wi | 
| 35460 | 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 28 73 68 | th-default-dir.project.......(sh | 
| 35480 | 65 6c 6c 20 28 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 | ell.(projectile-generate-process | 
| 354a0 | 2d 6e 61 6d 65 20 22 73 68 65 6c 6c 22 20 61 72    67 20 70 72 6f 6a 65 63 74 29 29 29 29 29 0a 0a | -name."shell".arg.project))))).. | 
| 354c0 | 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 | 
| 354e0 | 2d 72 75 6e 2d 65 73 68 65 6c 6c 20 28 26 6f 70    74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 49 | -run-eshell.(&optional.arg)..."I | 
| 35500 | 6e 76 6f 6b 65 20 60 65 73 68 65 6c 6c 27 20 69    6e 20 74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 | nvoke.`eshell'.in.the.project's. | 
| 35520 | 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 63 74 20 73 70 65 | root...Switch.to.the.project.spe | 
| 35540 | 63 69 66 69 63 20 65 73 68 65 6c 6c 20 62 75 66    66 65 72 20 69 66 20 69 74 20 61 6c 72 65 61 64 | cific.eshell.buffer.if.it.alread | 
| 35560 | 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 6d 65 6e 74 | y.exists...Use.a.prefix.argument | 
| 35580 | 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 20 61 20 6e | .ARG.to.indicate.creation.of.a.n | 
| 355a0 | 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 72 61 63 74 | ew.process.instead."...(interact | 
| 355c0 | 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 20 28 70 72 6f 6a 65 | ive."P")...(let.((project.(proje | 
| 355e0 | 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 70 72 6f 6a 65 | ctile-acquire-root))).....(proje | 
| 35600 | 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 74 0a 20 | ctile-with-default-dir.project.. | 
| 35620 | 20 20 20 20 20 28 6c 65 74 20 28 28 65 73 68 65    6c 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 | .....(let.((eshell-buffer-name.( | 
| 35640 | 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 65 | projectile-generate-process-name | 
| 35660 | 20 22 65 73 68 65 6c 6c 22 20 61 72 67 20 70 72    6f 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 | ."eshell".arg.project)))........ | 
| 35680 | 20 28 65 73 68 65 6c 6c 29 29 29 29 29 0a 0a 3b    3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 | .(eshell)))))..;;;###autoload.(d | 
| 356a0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    72 75 6e 2d 69 65 6c 6d 20 28 26 6f 70 74 69 6f | efun.projectile-run-ielm.(&optio | 
| 356c0 | 6e 61 6c 20 61 72 67 29 0a 20 20 22 49 6e 76 6f    6b 65 20 60 69 65 6c 6d 27 20 69 6e 20 74 68 65 | nal.arg)..."Invoke.`ielm'.in.the | 
| 356e0 | 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 20 | .project's.root...Switch.to.the. | 
| 35700 | 70 72 6f 6a 65 63 74 20 73 70 65 63 69 66 69 63    20 69 65 6c 6d 20 62 75 66 66 65 72 20 69 66 20 | project.specific.ielm.buffer.if. | 
| 35720 | 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 69 78 | it.already.exists...Use.a.prefix | 
| 35740 | 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 74 69 | .argument.ARG.to.indicate.creati | 
| 35760 | 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 20 20 | on.of.a.new.process.instead."... | 
| 35780 | 28 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 | (interactive."P")...(let*.((proj | 
| 357a0 | 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)).. | 
| 357c0 | 20 20 20 20 20 20 20 20 28 69 65 6c 6d 2d 62 75    66 66 65 72 2d 6e 61 6d 65 20 28 70 72 6f 6a 65 | ........(ielm-buffer-name.(proje | 
| 357e0 | 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 65 20 22 69 65 6c | ctile-generate-process-name."iel | 
| 35800 | 6d 22 20 61 72 67 20 70 72 6f 6a 65 63 74 29 29    29 0a 20 20 20 20 28 69 66 20 28 67 65 74 2d 62 | m".arg.project))).....(if.(get-b | 
| 35820 | 75 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 20 20 | uffer.ielm-buffer-name)......... | 
| 35840 | 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65    72 20 69 65 6c 6d 2d 62 75 66 66 65 72 2d 6e 61 | (switch-to-buffer.ielm-buffer-na | 
| 35860 | 6d 65 29 0a 20 20 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 | me).......(projectile-with-defau | 
| 35880 | 6c 74 2d 64 69 72 20 70 72 6f 6a 65 63 74 0a 20    20 20 20 20 20 20 20 28 69 65 6c 6d 29 29 0a 20 | lt-dir.project.........(ielm)).. | 
| 358a0 | 20 20 20 20 20 3b 3b 20 69 65 6c 6d 27 73 20 62    75 66 66 65 72 20 6e 61 6d 65 20 69 73 20 68 61 | .....;;.ielm's.buffer.name.is.ha | 
| 358c0 | 72 64 63 6f 64 65 64 2c 20 73 6f 20 77 65 20 68    61 76 65 20 74 6f 20 72 65 6e 61 6d 65 20 69 74 | rdcoded,.so.we.have.to.rename.it | 
| 358e0 | 20 61 66 74 65 72 20 63 72 65 61 74 69 6f 6e 0a    20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 62 75 | .after.creation.......(rename-bu | 
| 35900 | 66 66 65 72 20 69 65 6c 6d 2d 62 75 66 66 65 72    2d 6e 61 6d 65 29 29 29 29 0a 0a 3b 3b 3b 23 23 | ffer.ielm-buffer-name))))..;;;## | 
| 35920 | 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- | 
| 35940 | 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.` | 
| 35960 | 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 77 | term'.in.the.project's.root...Sw | 
| 35980 | 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 72 | itch.to.the.project.specific.ter | 
| 359a0 | 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 0a | m.buffer.if.it.already.exists... | 
| 359c0 | 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 64 | Use.a.prefix.argument.ARG.to.ind | 
| 359e0 | 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 20 | icate.creation.of.a.new.process. | 
| 35a00 | 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 20 | instead."...(interactive."P")... | 
| 35a20 | 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 6c 65 2d 61 63 71 75 | (let*.((project.(projectile-acqu | 
| 35a40 | 69 72 65 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20    20 20 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 | ire-root))..........(buffer-name | 
| 35a60 | 20 28 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 | .(projectile-generate-process-na | 
| 35a80 | 6d 65 20 22 74 65 72 6d 22 20 61 72 67 20 70 72    6f 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 | me."term".arg.project))......... | 
| 35aa0 | 20 28 64 65 66 61 75 6c 74 2d 70 72 6f 67 72 61    6d 20 28 6f 72 20 65 78 70 6c 69 63 69 74 2d 73 | .(default-program.(or.explicit-s | 
| 35ac0 | 68 65 6c 6c 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 | hell-file-name.................. | 
| 35ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65    74 65 6e 76 20 22 45 53 48 45 4c 4c 22 29 0a 20 | .............(getenv."ESHELL").. | 
| 35b00 | 20 20 20 20 20 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 67 65 | .............................(ge | 
| 35b20 | 74 65 6e 76 20 22 53 48 45 4c 4c 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tenv."SHELL")................... | 
| 35b40 | 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 62 69    6e 2f 73 68 22 29 29 29 0a 20 20 20 20 28 75 6e | ............"/bin/sh"))).....(un | 
| 35b60 | 6c 65 73 73 20 28 67 65 74 2d 62 75 66 66 65 72    20 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 | less.(get-buffer.buffer-name)... | 
| 35b80 | 20 20 20 20 28 72 65 71 75 69 72 65 20 27 74 65    72 6d 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 | ....(require.'term).......(let.( | 
| 35ba0 | 28 70 72 6f 67 72 61 6d 20 28 72 65 61 64 2d 66    72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 22 | (program.(read-from-minibuffer." | 
| 35bc0 | 52 75 6e 20 70 72 6f 67 72 61 6d 3a 20 22 20 64    65 66 61 75 6c 74 2d 70 72 6f 67 72 61 6d 29 29 | Run.program:.".default-program)) | 
| 35be0 | 29 0a 20 20 20 20 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 | ).........(projectile-with-defau | 
| 35c00 | 6c 74 2d 64 69 72 20 70 72 6f 6a 65 63 74 0a 20    20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 | lt-dir.project...........(set-bu | 
| 35c20 | 66 66 65 72 20 28 74 65 72 6d 2d 61 6e 73 69 2d    6d 61 6b 65 2d 74 65 72 6d 20 62 75 66 66 65 72 | ffer.(term-ansi-make-term.buffer | 
| 35c40 | 2d 6e 61 6d 65 20 70 72 6f 67 72 61 6d 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 74 65 72 6d 2d | -name.program))...........(term- | 
| 35c60 | 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20    28 74 65 72 6d 2d 63 68 61 72 2d 6d 6f 64 65 29 | mode)...........(term-char-mode) | 
| 35c80 | 29 29 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d    74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 | ))).....(switch-to-buffer.buffer | 
| 35ca0 | 2d 6e 61 6d 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 76 74 65 | -name)))..(defun.projectile--vte | 
| 35cc0 | 72 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 65    77 2d 70 72 6f 63 65 73 73 20 6f 74 68 65 72 2d | rm.(&optional.new-process.other- | 
| 35ce0 | 77 69 6e 64 6f 77 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 | window)..."Invoke.`vterm'.in.the | 
| 35d00 | 20 70 72 6f 6a 65 63 74 27 73 20 72 6f 6f 74 2e    0a 0a 55 73 65 20 61 72 67 75 6d 65 6e 74 20 4e | .project's.root...Use.argument.N | 
| 35d20 | 45 57 2d 50 52 4f 43 45 53 53 20 74 6f 20 69 6e    64 69 63 61 74 65 20 63 72 65 61 74 69 6f 6e 20 | EW-PROCESS.to.indicate.creation. | 
| 35d40 | 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 0a 55 73 65 20 61 72 | of.a.new.process.instead..Use.ar | 
| 35d60 | 67 75 6d 65 6e 74 20 4f 54 48 45 52 2d 57 49 4e    44 4f 57 20 74 6f 20 69 6e 64 65 6e 74 61 74 69 | gument.OTHER-WINDOW.to.indentati | 
| 35d80 | 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 62    75 66 66 65 72 20 73 68 6f 75 6c 64 0a 62 65 20 | on.whether.the.buffer.should.be. | 
| 35da0 | 64 69 73 70 6c 61 79 65 64 20 69 6e 20 61 20 64    69 66 66 65 72 65 6e 74 20 77 69 6e 64 6f 77 2e | displayed.in.a.different.window. | 
| 35dc0 | 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 66 69 63 | ..Switch.to.the.project.specific | 
| 35de0 | 20 74 65 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 | .term.buffer.if.it.already.exist | 
| 35e00 | 73 2e 22 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 6c | s."...(let*.((project.(projectil | 
| 35e20 | 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 62 75 66 66 65 | e-acquire-root))..........(buffe | 
| 35e40 | 72 20 28 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 | r.(projectile-generate-process-n | 
| 35e60 | 61 6d 65 20 22 76 74 65 72 6d 22 20 6e 65 77 2d    70 72 6f 63 65 73 73 20 70 72 6f 6a 65 63 74 29 | ame."vterm".new-process.project) | 
| 35e80 | 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28    72 65 71 75 69 72 65 20 27 76 74 65 72 6d 20 6e | )).....(unless.(require.'vterm.n | 
| 35ea0 | 69 6c 20 27 6e 6f 65 72 72 6f 72 29 0a 20 20 20    20 20 20 28 65 72 72 6f 72 20 22 50 61 63 6b 61 | il.'noerror).......(error."Packa | 
| 35ec0 | 67 65 20 27 76 74 65 72 6d 27 20 69 73 20 6e 6f    74 20 61 76 61 69 6c 61 62 6c 65 22 29 29 0a 20 | ge.'vterm'.is.not.available")).. | 
| 35ee0 | 20 20 20 28 69 66 20 28 62 75 66 66 65 72 2d 6c    69 76 65 2d 70 20 28 67 65 74 2d 62 75 66 66 65 | ...(if.(buffer-live-p.(get-buffe | 
| 35f00 | 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 20    20 20 20 28 69 66 20 6f 74 68 65 72 2d 77 69 6e | r.buffer)).........(if.other-win | 
| 35f20 | 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20    28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 | dow.............(switch-to-buffe | 
| 35f40 | 72 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 20 20 20 20 | r-other-window.buffer).......... | 
| 35f60 | 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66    65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 | .(switch-to-buffer.buffer))..... | 
| 35f80 | 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 72 20 70 | ..(projectile-with-default-dir.p | 
| 35fa0 | 72 6f 6a 65 63 74 0a 20 20 20 20 20 20 20 20 28    69 66 20 6f 74 68 65 72 2d 77 69 6e 64 6f 77 0a | roject.........(if.other-window. | 
| 35fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 76 74 65    72 6d 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 | ............(vterm-other-window. | 
| 35fe0 | 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20    20 20 28 76 74 65 72 6d 20 62 75 66 66 65 72 29 | buffer)...........(vterm.buffer) | 
| 36000 | 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 6e 20 70 72 6f | )))))..;;;###autoload.(defun.pro | 
| 36020 | 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 76 74 65 72    6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 | jectile-run-vterm.(&optional.arg | 
| 36040 | 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 65 | )..."Invoke.`vterm'.in.the.proje | 
| 36060 | 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 63 | ct's.root...Switch.to.the.projec | 
| 36080 | 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 72 | t.specific.term.buffer.if.it.alr | 
| 360a0 | 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 6d | eady.exists...Use.a.prefix.argum | 
| 360c0 | 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 20 | ent.ARG.to.indicate.creation.of. | 
| 360e0 | 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 72 | a.new.process.instead."...(inter | 
| 36100 | 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 6d | active."P")...(projectile--vterm | 
| 36120 | 20 61 72 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 | .arg))..;;;###autoload.(defun.pr | 
| 36140 | 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 76 74 65    72 6d 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 | ojectile-run-vterm-other-window. | 
| 36160 | 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 76 74 65 72 6d | (&optional.arg)..."Invoke.`vterm | 
| 36180 | 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 | 
| 361a0 | 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 72 6d 20 62 75 | .to.the.project.specific.term.bu | 
| 361c0 | 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 65 20 | ffer.if.it.already.exists...Use. | 
| 361e0 | 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 61 74 | a.prefix.argument.ARG.to.indicat | 
| 36200 | 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 73 74 | e.creation.of.a.new.process.inst | 
| 36220 | 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 70 72 6f | ead."...(interactive."P")...(pro | 
| 36240 | 6a 65 63 74 69 6c 65 2d 2d 76 74 65 72 6d 20 61    72 67 20 27 6f 74 68 65 72 2d 77 69 6e 64 6f 77 | jectile--vterm.arg.'other-window | 
| 36260 | 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 69 6e 2d 70 | ))..(defun.projectile-files-in-p | 
| 36280 | 72 6f 6a 65 63 74 2d 64 69 72 65 63 74 6f 72 79    20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 | roject-directory.(directory)..." | 
| 362a0 | 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66    20 66 69 6c 65 73 20 69 6e 20 44 49 52 45 43 54 | Return.a.list.of.files.in.DIRECT | 
| 362c0 | 4f 52 59 2e 22 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 | ORY."...(let*.((project.(project | 
| 362e0 | 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 28 64 69 72 | ile-acquire-root))..........(dir | 
| 36300 | 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d    6e 61 6d 65 20 28 65 78 70 61 6e 64 2d 66 69 6c | .(file-relative-name.(expand-fil | 
| 36320 | 65 2d 6e 61 6d 65 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 | e-name.directory)............... | 
| 36340 | 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 29 29 29 0a 20 | ....................project))).. | 
| 36360 | 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66    2d 6e 6f 74 0a 20 20 20 20 20 28 6c 61 6d 62 64 | ...(cl-remove-if-not......(lambd | 
| 36380 | 61 20 28 66 29 20 28 73 74 72 69 6e 67 2d 70 72    65 66 69 78 2d 70 20 64 69 72 20 66 29 29 0a 20 | a.(f).(string-prefix-p.dir.f)).. | 
| 363a0 | 20 20 20 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 | ....(projectile-project-files.pr | 
| 363c0 | 6f 6a 65 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 66 69 6c | oject))))..(defun.projectile-fil | 
| 363e0 | 65 73 2d 66 72 6f 6d 2d 63 6d 64 20 28 63 6d 64    20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 55 | es-from-cmd.(cmd.directory)..."U | 
| 36400 | 73 65 20 61 20 67 72 65 70 2d 6c 69 6b 65 20 43    4d 44 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 | se.a.grep-like.CMD.to.search.for | 
| 36420 | 20 66 69 6c 65 73 20 77 69 74 68 69 6e 20 44 49    52 45 43 54 4f 52 59 2e 0a 0a 43 4d 44 20 73 68 | .files.within.DIRECTORY...CMD.sh | 
| 36440 | 6f 75 6c 64 20 69 6e 63 6c 75 64 65 20 74 68 65    20 6e 65 63 65 73 73 61 72 79 20 73 65 61 72 63 | ould.include.the.necessary.searc | 
| 36460 | 68 20 70 61 72 61 6d 73 20 61 6e 64 20 73 68 6f    75 6c 64 20 6f 75 74 70 75 74 0a 65 71 75 69 76 | h.params.and.should.output.equiv | 
| 36480 | 61 6c 65 6e 74 6c 79 20 74 6f 20 67 72 65 70 20    2d 48 6c 49 20 28 6f 6e 6c 79 20 75 6e 69 71 75 | alently.to.grep.-HlI.(only.uniqu | 
| 364a0 | 65 20 6d 61 74 63 68 69 6e 67 20 66 69 6c 65 6e    61 6d 65 73 29 2e 0a 52 65 74 75 72 6e 73 20 61 | e.matching.filenames)..Returns.a | 
| 364c0 | 20 6c 69 73 74 20 6f 66 20 65 78 70 61 6e 64 65    64 20 66 69 6c 65 6e 61 6d 65 73 2e 22 0a 20 20 | .list.of.expanded.filenames."... | 
| 364e0 | 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 64 69 72 65 63 74 6f | (let.((default-directory.directo | 
| 36500 | 72 79 29 29 0a 20 20 20 20 28 6d 61 70 63 61 72    20 28 6c 61 6d 62 64 61 20 28 73 74 72 29 0a 20 | ry)).....(mapcar.(lambda.(str).. | 
| 36520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 63 61 74 20 64 69 72 65 63 74 6f 72 79 0a 20 | .............(concat.directory.. | 
| 36540 | 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 73 74 72 69 6e 67 | .....................(if.(string | 
| 36560 | 2d 70 72 65 66 69 78 2d 70 20 22 2e 2f 22 20 73    74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -prefix-p."./".str)............. | 
| 36580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    75 62 73 74 72 69 6e 67 20 73 74 72 20 32 29 0a | ..............(substring.str.2). | 
| 365a0 | 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 74 72 29 29 29 0a 20 | ........................str))).. | 
| 365c0 | 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69    74 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 | ...........(split-string........ | 
| 365e0 | 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 72    69 6d 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e | ......(string-trim.(shell-comman | 
| 36600 | 64 2d 74 6f 2d 73 74 72 69 6e 67 20 63 6d 64 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | d-to-string.cmd)).............." | 
| 36620 | 5c 6e 2b 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 74 29 29 29 29 0a 0a 28 64 65 66 76 61 72 | \n+"..............t))))..(defvar | 
| 36640 | 20 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 | .projectile-files-with-string-co | 
| 36660 | 6d 6d 61 6e 64 73 0a 20 20 27 28 28 72 67 20 2e    20 22 72 67 20 2d 6c 46 20 2d 2d 6e 6f 2d 68 65 | mmands...'((rg..."rg.-lF.--no-he | 
| 36680 | 61 64 69 6e 67 20 2d 2d 63 6f 6c 6f 72 20 6e 65    76 65 72 20 22 29 0a 20 20 20 20 28 61 67 20 2e | ading.--color.never.").....(ag.. | 
| 366a0 | 20 22 61 67 20 2d 2d 6c 69 74 65 72 61 6c 20 2d    2d 6e 6f 63 6f 6c 6f 72 20 2d 2d 6e 6f 68 65 61 | ."ag.--literal.--nocolor.--nohea | 
| 366c0 | 64 69 6e 67 20 2d 6c 20 22 29 0a 20 20 20 20 28    61 63 6b 20 2e 20 22 61 63 6b 20 2d 2d 6c 69 74 | ding.-l.").....(ack..."ack.--lit | 
| 366e0 | 65 72 61 6c 20 2d 2d 6e 6f 63 6f 6c 6f 72 20 2d    6c 20 22 29 0a 20 20 20 20 28 67 69 74 20 2e 20 | eral.--nocolor.-l.").....(git... | 
| 36700 | 22 67 69 74 20 67 72 65 70 20 2d 48 6c 49 20 22    29 0a 20 20 20 20 3b 3b 20 2d 72 3a 20 72 65 63 | "git.grep.-HlI.").....;;.-r:.rec | 
| 36720 | 75 72 73 69 76 65 0a 20 20 20 20 3b 3b 20 2d 48    3a 20 73 68 6f 77 20 66 69 6c 65 6e 61 6d 65 20 | ursive.....;;.-H:.show.filename. | 
| 36740 | 66 6f 72 20 65 61 63 68 20 6d 61 74 63 68 0a 20    20 20 20 3b 3b 20 2d 6c 3a 20 73 68 6f 77 20 6f | for.each.match.....;;.-l:.show.o | 
| 36760 | 6e 6c 79 20 66 69 6c 65 20 6e 61 6d 65 73 20 77    69 74 68 20 6d 61 74 63 68 65 73 0a 20 20 20 20 | nly.file.names.with.matches..... | 
| 36780 | 3b 3b 20 2d 49 3a 20 6e 6f 20 62 69 6e 61 72 79    20 66 69 6c 65 73 0a 20 20 20 20 28 67 72 65 70 | ;;.-I:.no.binary.files.....(grep | 
| 367a0 | 20 2e 20 22 67 72 65 70 20 2d 72 48 6c 49 20 25    73 20 2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ..."grep.-rHlI.%s..")))..(defun. | 
| 367c0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 67 2d 63    6f 6e 73 74 72 75 63 74 2d 63 6f 6d 6d 61 6e 64 | projectile--rg-construct-command | 
| 367e0 | 20 28 73 65 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 | .(search-term.&optional.file-ext | 
| 36800 | 29 0a 20 20 22 43 6f 6e 73 74 72 75 63 74 20 52    67 20 6f 70 74 69 6f 6e 20 74 6f 20 73 65 61 72 | )..."Construct.Rg.option.to.sear | 
| 36820 | 63 68 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 | ch.files.by.the.extension.FILE-E | 
| 36840 | 58 54 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 | XT."...(if.(stringp.file-ext)... | 
| 36860 | 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 72 67 20 70 72 6f 6a | ....(concat.(cdr.(assoc.'rg.proj | 
| 36880 | 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 | 
| 368a0 | 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 22 2d 67 20 27 22 0a 20 20 20 20 20 20 20 | s))..............."-g.'"........ | 
| 368c0 | 20 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 | .......file-ext..............."' | 
| 368e0 | 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 20 20 | ."...............search-term)... | 
| 36900 | 20 20 28 63 6f 6e 63 61 74 20 28 63 64 72 20 28    61 73 73 6f 63 20 27 72 67 20 70 72 6f 6a 65 63 | ..(concat.(cdr.(assoc.'rg.projec | 
| 36920 | 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 29 | tile-files-with-string-commands) | 
| 36940 | 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 64 | ).............search-term)))..(d | 
| 36960 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 61 67 2d 63 6f 6e 73 74 72 75 63 74 2d 63 6f | efun.projectile--ag-construct-co | 
| 36980 | 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 66 69 6c | mmand.(search-term.&optional.fil | 
| 369a0 | 65 2d 65 78 74 29 0a 20 20 22 43 6f 6e 73 74 72    75 63 74 20 41 67 20 6f 70 74 69 6f 6e 20 74 6f | e-ext)..."Construct.Ag.option.to | 
| 369c0 | 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 6f 6e 20 46 | .search.files.by.the.extension.F | 
| 369e0 | 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 65 2d 65 78 | ILE-EXT."...(if.(stringp.file-ex | 
| 36a00 | 74 29 0a 20 20 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 | t).......(concat.(cdr.(assoc.'ag | 
| 36a20 | 20 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 | .projectile-files-with-string-co | 
| 36a40 | 6d 6d 61 6e 64 73 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 22 2d 47 20 22 0a 20 20 20 | mmands))..............."-G.".... | 
| 36a60 | 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 2d 73 74 | ...........(replace-regexp-in-st | 
| 36a80 | 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 20 20 20 | ring................"\\*"."".... | 
| 36aa0 | 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 2d 73 | ............(replace-regexp-in-s | 
| 36ac0 | 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 29 0a 20 | tring."\\."."\\\\.".file-ext)).. | 
| 36ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 22 24 20    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............."$."............... | 
| 36b00 | 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 61 | search-term).....(concat.(cdr.(a | 
| 36b20 | 73 73 6f 63 20 27 61 67 20 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 2d 73 | ssoc.'ag.projectile-files-with-s | 
| 36b40 | 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 65 61 | tring-commands)).............sea | 
| 36b60 | 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 2d 2d | rch-term)))..(defun.projectile-- | 
| 36b80 | 61 63 6b 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 | ack-construct-command.(search-te | 
| 36ba0 | 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 73 74 72 | rm.&optional.file-ext)..."Constr | 
| 36bc0 | 75 63 74 20 41 63 6b 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 | uct.Ack.option.to.search.files.b | 
| 36be0 | 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 69 66 | y.the.extension.FILE-EXT."...(if | 
| 36c00 | 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 63 61 | .(stringp.file-ext).......(conca | 
| 36c20 | 74 20 22 61 63 6b 20 2d 67 20 27 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c | t."ack.-g.'"...............(repl | 
| 36c40 | 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 20 20 20 | ace-regexp-in-string............ | 
| 36c60 | 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 72 65 70 | ...."\\*".""................(rep | 
| 36c80 | 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 5c 5c 5c | lace-regexp-in-string."\\."."\\\ | 
| 36ca0 | 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 22 24 27 | \.".file-ext))..............."$' | 
| 36cc0 | 20 7c 20 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 64 72 20 28 61 73 73 6f 63 20 27 | .|."...............(cdr.(assoc.' | 
| 36ce0 | 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 2d 73 74 72 69 6e 67 | ack.projectile-files-with-string | 
| 36d00 | 2d 63 6f 6d 6d 61 6e 64 73 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 22 2d 78 20 22 0a | -commands))..............."-x.". | 
| 36d20 | 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 28 | ..............search-term).....( | 
| 36d40 | 63 6f 6e 63 61 74 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 | concat.(cdr.(assoc.'ack.projecti | 
| 36d60 | 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 29 29 0a | le-files-with-string-commands)). | 
| 36d80 | 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 64 65 66 | ............search-term)))..(def | 
| 36da0 | 75 6e 20 70 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 | un.projectile--git-grep-construc | 
| 36dc0 | 74 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 | t-command.(search-term.&optional | 
| 36de0 | 20 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 | .file-ext)..."Construct.Grep.opt | 
| 36e00 | 69 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 | ion.to.search.files.by.the.exten | 
| 36e20 | 73 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 | sion.FILE-EXT."...(if.(stringp.f | 
| 36e40 | 69 6c 65 2d 65 78 74 29 0a 20 20 20 20 20 20 28    63 6f 6e 63 61 74 20 28 63 64 72 20 28 61 73 73 | ile-ext).......(concat.(cdr.(ass | 
| 36e60 | 6f 63 20 27 67 69 74 20 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 2d 73 74 | oc.'git.projectile-files-with-st | 
| 36e80 | 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 20 20 73 65 | ring-commands))...............se | 
| 36ea0 | 61 72 63 68 2d 74 65 72 6d 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 22 20 20 2d 2d 20 27 22 | arch-term..............."..--.'" | 
| 36ec0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66    69 6c 65 2d 65 78 74 0a 20 20 20 20 20 20 20 20 | ...............file-ext......... | 
| 36ee0 | 20 20 20 20 20 20 22 27 22 29 0a 20 20 20 20 28    63 6f 6e 63 61 74 20 28 63 64 72 20 28 61 73 73 | ......"'").....(concat.(cdr.(ass | 
| 36f00 | 6f 63 20 27 67 69 74 20 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 2d 73 74 | oc.'git.projectile-files-with-st | 
| 36f20 | 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 65 61 72 | ring-commands)).............sear | 
| 36f40 | 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 2d 2d 67 | ch-term)))..(defun.projectile--g | 
| 36f60 | 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 61 72 63 68 2d 74 65 | rep-construct-command.(search-te | 
| 36f80 | 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 73 74 72 | rm.&optional.file-ext)..."Constr | 
| 36fa0 | 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 20 66 69 6c 65 73 20 | uct.Grep.option.to.search.files. | 
| 36fc0 | 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 69 | by.the.extension.FILE-EXT."...(i | 
| 36fe0 | 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 63 | f.(stringp.file-ext).......(conc | 
| 37000 | 61 74 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 70 72 6f | at.(format.(cdr.(assoc.'grep.pro | 
| 37020 | 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 6d 61 6e | jectile-files-with-string-comman | 
| 37040 | 64 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 73 65 61 72 63 | ds)).......................searc | 
| 37060 | 68 2d 74 65 72 6d 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 22 20 2d 2d 69 6e 63 6c 75 64 | h-term)...............".--includ | 
| 37080 | 65 20 27 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 66 69 6c 65 2d 65 78 74 0a 20 20 20 20 | e.'"...............file-ext..... | 
| 370a0 | 20 20 20 20 20 20 20 20 20 20 22 27 22 29 0a 20    20 20 20 28 66 6f 72 6d 61 74 20 28 63 64 72 20 | .........."'").....(format.(cdr. | 
| 370c0 | 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 2d 77 69 | (assoc.'grep.projectile-files-wi | 
| 370e0 | 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))............ | 
| 37100 | 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 | 
| 37120 | 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 2d 73 74    72 69 6e 67 20 28 73 74 72 69 6e 67 20 64 69 72 | le-files-with-string.(string.dir | 
| 37140 | 65 63 74 6f 72 79 20 26 6f 70 74 69 6f 6e 61 6c    20 66 69 6c 65 2d 65 78 74 29 0a 20 20 22 52 65 | ectory.&optional.file-ext)..."Re | 
| 37160 | 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61    6c 6c 20 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e | turn.a.list.of.all.files.contain | 
| 37180 | 69 6e 67 20 53 54 52 49 4e 47 20 69 6e 20 44 49    52 45 43 54 4f 52 59 2e 0a 0a 54 72 69 65 73 20 | ing.STRING.in.DIRECTORY...Tries. | 
| 371a0 | 74 6f 20 75 73 65 20 72 67 2c 20 61 67 2c 20 61    63 6b 2c 20 67 69 74 2d 67 72 65 70 2c 20 61 6e | to.use.rg,.ag,.ack,.git-grep,.an | 
| 371c0 | 64 20 67 72 65 70 20 69 6e 20 74 68 61 74 20 6f    72 64 65 72 2e 20 20 49 66 20 74 68 6f 73 65 0a | d.grep.in.that.order...If.those. | 
| 371e0 | 61 72 65 20 69 6d 70 6f 73 73 69 62 6c 65 20 28    66 6f 72 20 69 6e 73 74 61 6e 63 65 20 6f 6e 20 | are.impossible.(for.instance.on. | 
| 37200 | 57 69 6e 64 6f 77 73 29 2c 20 72 65 74 75 72 6e    73 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 0a | Windows),.returns.a.list.of.all. | 
| 37220 | 66 69 6c 65 73 20 69 6e 20 74 68 65 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 28 69 66 20 28 70 72 | files.in.the.project."...(if.(pr | 
| 37240 | 6f 6a 65 63 74 69 6c 65 2d 75 6e 69 78 79 2d 73    79 73 74 65 6d 2d 70 29 0a 20 20 20 20 20 20 28 | ojectile-unixy-system-p).......( | 
| 37260 | 6c 65 74 2a 20 28 28 73 65 61 72 63 68 2d 74 65    72 6d 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d | let*.((search-term.(shell-quote- | 
| 37280 | 61 72 67 75 6d 65 6e 74 20 73 74 72 69 6e 67 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | argument.string))..............( | 
| 372a0 | 63 6d 64 20 28 63 6f 6e 64 20 28 28 65 78 65 63    75 74 61 62 6c 65 2d 66 69 6e 64 20 22 72 67 22 | cmd.(cond.((executable-find."rg" | 
| 372c0 | 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 72 6f 6a | )..........................(proj | 
| 372e0 | 65 63 74 69 6c 65 2d 2d 72 67 2d 63 6f 6e 73 74    72 75 63 74 2d 63 6f 6d 6d 61 6e 64 20 73 65 61 | ectile--rg-construct-command.sea | 
| 37300 | 72 63 68 2d 74 65 72 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 | rch-term.file-ext))............. | 
| 37320 | 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 78    65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 61 | ............((executable-find."a | 
| 37340 | 67 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 28 70 72 | g")..........................(pr | 
| 37360 | 6f 6a 65 63 74 69 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 73 | ojectile--ag-construct-command.s | 
| 37380 | 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 20 20 20 20 20 20 20 | earch-term.file-ext))........... | 
| 373a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28    65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 | ..............((executable-find. | 
| 373c0 | 22 61 63 6b 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 | "ack").......................... | 
| 373e0 | 28 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 2d 63 6f 6d 6d 61 | (projectile--ack-construct-comma | 
| 37400 | 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 20 20 20 | nd.search-term.file-ext))....... | 
| 37420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 28 61 6e 64 20 28 65 78 65 63 75 74 61 | ..................((and.(executa | 
| 37440 | 62 6c 65 2d 66 69 6e 64 20 22 67 69 74 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ble-find."git")................. | 
| 37460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65    71 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | ..............(eq.(projectile-pr | 
| 37480 | 6f 6a 65 63 74 2d 76 63 73 29 20 27 67 69 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oject-vcs).'git))............... | 
| 374a0 | 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 69 74 2d 67 72 65 70 | ...........(projectile--git-grep | 
| 374c0 | 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 20 66 | -construct-command.search-term.f | 
| 374e0 | 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 20 20 20 | ile-ext))....................... | 
| 37500 | 20 20 28 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 28 70 | ..(t..........................(p | 
| 37520 | 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 2d 63 6f 6d 6d 61 6e | rojectile--grep-construct-comman | 
| 37540 | 64 20 73 65 61 72 63 68 2d 74 65 72 6d 20 66 69    6c 65 2d 65 78 74 29 29 29 29 29 0a 20 20 20 20 | d.search-term.file-ext)))))..... | 
| 37560 | 20 20 20 20 28 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 63 | ....(projectile-files-from-cmd.c | 
| 37580 | 6d 64 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20    20 20 20 3b 3b 20 77 65 20 68 61 76 65 20 74 6f | md.directory)).....;;.we.have.to | 
| 375a0 | 20 72 65 6a 65 63 74 20 64 69 72 65 63 74 6f 72    69 65 73 20 61 73 20 61 20 77 6f 72 6b 61 72 6f | .reject.directories.as.a.workaro | 
| 375c0 | 75 6e 64 20 74 6f 20 77 6f 72 6b 20 77 69 74 68    20 67 69 74 20 73 75 62 6d 6f 64 75 6c 65 73 0a | und.to.work.with.git.submodules. | 
| 375e0 | 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69    66 0a 20 20 20 20 20 23 27 66 69 6c 65 2d 64 69 | ....(cl-remove-if......#'file-di | 
| 37600 | 72 65 63 74 6f 72 79 2d 70 0a 20 20 20 20 20 28    6d 61 70 63 61 72 20 23 27 28 6c 61 6d 62 64 61 | rectory-p......(mapcar.#'(lambda | 
| 37620 | 20 28 66 69 6c 65 29 20 28 65 78 70 61 6e 64 2d    66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 20 64 | .(file).(expand-file-name.file.d | 
| 37640 | 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 | irectory))..............(project | 
| 37660 | 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73 20 64 69    72 65 63 74 6f 72 79 29 29 29 29 29 0a 0a 3b 3b | ile-dir-files.directory)))))..;; | 
| 37680 | 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 | 
| 376a0 | 65 70 6c 61 63 65 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 | eplace.(&optional.arg)..."Replac | 
| 376c0 | 65 20 6c 69 74 65 72 61 6c 20 73 74 72 69 6e 67    20 69 6e 20 70 72 6f 6a 65 63 74 20 75 73 69 6e | e.literal.string.in.project.usin | 
| 376e0 | 67 20 6e 6f 6e 2d 72 65 67 65 78 70 20 60 74 61    67 73 2d 71 75 65 72 79 2d 72 65 70 6c 61 63 65 | g.non-regexp.`tags-query-replace | 
| 37700 | 27 2e 0a 0a 57 69 74 68 20 61 20 70 72 65 66 69    78 20 61 72 67 75 6d 65 6e 74 20 41 52 47 20 70 | '...With.a.prefix.argument.ARG.p | 
| 37720 | 72 6f 6d 70 74 73 20 79 6f 75 20 66 6f 72 20 61    20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 66 | rompts.you.for.a.directory.and.f | 
| 37740 | 69 6c 65 20 6e 61 6d 65 20 70 61 74 74 65 72 6e    73 0a 6f 6e 20 77 68 69 63 68 20 74 6f 20 72 75 | ile.name.patterns.on.which.to.ru | 
| 37760 | 6e 20 74 68 65 20 72 65 70 6c 61 63 65 6d 65 6e    74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 | n.the.replacement."...(interacti | 
| 37780 | 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 2a 20    28 28 64 69 72 65 63 74 6f 72 79 20 28 69 66 20 | ve."P")...(let*.((directory.(if. | 
| 377a0 | 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 28 66 69 6c | arg.........................(fil | 
| 377c0 | 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74    6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e-name-as-directory............. | 
| 377e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65    61 64 2d 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d | .............(read-directory-nam | 
| 37800 | 65 20 22 52 65 70 6c 61 63 65 20 69 6e 20 64 69    72 65 63 74 6f 72 79 3a 20 22 29 29 0a 20 20 20 | e."Replace.in.directory:.")).... | 
| 37820 | 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 | 
| 37840 | 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 0a 20    20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 65 78 | cquire-root)))..........(file-ex | 
| 37860 | 74 20 28 69 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 | t.(if.arg....................... | 
| 37880 | 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 23 27    68 65 6c 6d 2d 67 72 65 70 2d 67 65 74 2d 66 69 | .(if.(fboundp.#'helm-grep-get-fi | 
| 378a0 | 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le-extensions).................. | 
| 378c0 | 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28    68 65 6c 6d 2d 67 72 65 70 2d 67 65 74 2d 66 69 | ..........(car.(helm-grep-get-fi | 
| 378e0 | 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 28 6c    69 73 74 20 64 69 72 65 63 74 6f 72 79 29 29 29 | le-extensions.(list.directory))) | 
| 37900 | 0a 20 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 72 65 61 64 2d | ..........................(read- | 
| 37920 | 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 20 20 20 20 20 | string.......................... | 
| 37940 | 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 6d | .(projectile-prepend-project-nam | 
| 37960 | 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 22 57 69 | e............................"Wi | 
| 37980 | 74 68 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f    6e 20 28 65 6d 70 74 79 20 73 74 72 69 6e 67 20 | th.file.extension.(empty.string. | 
| 379a0 | 6d 65 61 6e 73 20 61 6c 6c 20 66 69 6c 65 73 29    3a 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 | means.all.files):."))).......... | 
| 379c0 | 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29    29 0a 20 20 20 20 20 20 20 20 20 28 6f 6c 64 2d | ............nil))..........(old- | 
| 379e0 | 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 20 20 20 20 20 | text.(read-string............... | 
| 37a00 | 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 72 6f 6a 65 63 | ......(projectile-prepend-projec | 
| 37a20 | 74 2d 6e 61 6d 65 20 22 52 65 70 6c 61 63 65 3a    20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t-name."Replace:.")............. | 
| 37a40 | 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 2d 73 65 | ........(projectile-symbol-or-se | 
| 37a60 | 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 28 6e 65 | lection-at-point)))..........(ne | 
| 37a80 | 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 20 20 20 | w-text.(read-string............. | 
| 37aa0 | 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 72 6f 6a | ........(projectile-prepend-proj | 
| 37ac0 | 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 20 28 66 | ect-name......................(f | 
| 37ae0 | 6f 72 6d 61 74 20 22 52 65 70 6c 61 63 65 20 25    73 20 77 69 74 68 3a 20 22 20 6f 6c 64 2d 74 65 | ormat."Replace.%s.with:.".old-te | 
| 37b00 | 78 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20    28 66 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 69 | xt))))..........(files.(projecti | 
| 37b20 | 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 2d 73 74    72 69 6e 67 20 6f 6c 64 2d 74 65 78 74 20 64 69 | le-files-with-string.old-text.di | 
| 37b40 | 72 65 63 74 6f 72 79 20 66 69 6c 65 2d 65 78 74    29 29 29 0a 20 20 20 20 28 69 66 20 28 66 62 6f | rectory.file-ext))).....(if.(fbo | 
| 37b60 | 75 6e 64 70 20 23 27 66 69 6c 65 6c 6f 6f 70 2d    63 6f 6e 74 69 6e 75 65 29 0a 20 20 20 20 20 20 | undp.#'fileloop-continue)....... | 
| 37b80 | 20 20 3b 3b 20 45 6d 61 63 73 20 32 37 2b 0a 20    20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 66 | ..;;.Emacs.27+.........(progn.(f | 
| 37ba0 | 69 6c 65 6c 6f 6f 70 2d 69 6e 69 74 69 61 6c 69    7a 65 2d 72 65 70 6c 61 63 65 20 6f 6c 64 2d 74 | ileloop-initialize-replace.old-t | 
| 37bc0 | 65 78 74 20 6e 65 77 2d 74 65 78 74 20 66 69 6c    65 73 20 27 64 65 66 61 75 6c 74 29 0a 20 20 20 | ext.new-text.files.'default).... | 
| 37be0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c    65 6c 6f 6f 70 2d 63 6f 6e 74 69 6e 75 65 29 29 | ............(fileloop-continue)) | 
| 37c00 | 0a 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20    32 35 20 61 6e 64 20 32 36 0a 20 20 20 20 20 20 | .......;;.Emacs.25.and.26....... | 
| 37c20 | 3b 3b 0a 20 20 20 20 20 20 3b 3b 20 41 64 61 70    74 65 64 20 66 72 6f 6d 20 60 74 61 67 73 2d 71 | ;;.......;;.Adapted.from.`tags-q | 
| 37c40 | 75 65 72 79 2d 72 65 70 6c 61 63 65 27 20 66 6f    72 20 6c 69 74 65 72 61 6c 20 73 74 72 69 6e 67 | uery-replace'.for.literal.string | 
| 37c60 | 73 20 28 6e 6f 74 20 72 65 67 65 78 70 29 0a 20    20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 | s.(not.regexp).......(with-no-wa | 
| 37c80 | 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 28    73 65 74 71 20 74 61 67 73 2d 6c 6f 6f 70 2d 73 | rnings.........(setq.tags-loop-s | 
| 37ca0 | 63 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 60 28 6c 65 74 20 2c 28 75 6e 6c 65 73 73 | can...............`(let.,(unless | 
| 37cc0 | 20 28 65 71 75 61 6c 20 6f 6c 64 2d 74 65 78 74    20 28 64 6f 77 6e 63 61 73 65 20 6f 6c 64 2d 74 | .(equal.old-text.(downcase.old-t | 
| 37ce0 | 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 27 28 28 | ext))........................'(( | 
| 37d00 | 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68    20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 | case-fold-search.nil)))......... | 
| 37d20 | 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 65    61 72 63 68 2d 66 6f 72 77 61 72 64 20 27 2c 6f | .........(if.(search-forward.',o | 
| 37d40 | 6c 64 2d 74 65 78 74 20 6e 69 6c 20 74 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ld-text.nil.t).................. | 
| 37d60 | 20 20 20 20 3b 3b 20 57 68 65 6e 20 77 65 20 66    69 6e 64 20 61 20 6d 61 74 63 68 2c 20 6d 6f 76 | ....;;.When.we.find.a.match,.mov | 
| 37d80 | 65 20 62 61 63 6b 20 74 6f 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | e.back.to......................; | 
| 37da0 | 3b 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20    6f 66 20 69 74 20 73 6f 0a 20 20 20 20 20 20 20 | ;.the.beginning.of.it.so........ | 
| 37dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 70 65 72 66 6f 72 6d 2d 72 65 70 6c 61 63 65 | ..............;;.perform-replace | 
| 37de0 | 20 77 69 6c 6c 20 73 65 65 20 69 74 2e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .will.see.it.................... | 
| 37e00 | 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d    61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 | ...(goto-char.(match-beginning.0 | 
| 37e20 | 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73    65 74 71 20 74 61 67 73 2d 6c 6f 6f 70 2d 6f 70 | ))))).........(setq.tags-loop-op | 
| 37e40 | 65 72 61 74 65 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 60 28 70 65 72 66 6f 72 6d 2d 72 65 | erate...............`(perform-re | 
| 37e60 | 70 6c 61 63 65 20 27 2c 6f 6c 64 2d 74 65 78 74    20 27 2c 6e 65 77 2d 74 65 78 74 20 74 20 6e 69 | place.',old-text.',new-text.t.ni | 
| 37e80 | 6c 20 6e 69 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 | l.nil........................... | 
| 37ea0 | 20 20 20 20 20 20 6e 69 6c 20 6d 75 6c 74 69 2d    71 75 65 72 79 2d 72 65 70 6c 61 63 65 2d 6d 61 | ......nil.multi-query-replace-ma | 
| 37ec0 | 70 29 29 0a 20 20 20 20 20 20 20 20 28 74 61 67    73 2d 6c 6f 6f 70 2d 63 6f 6e 74 69 6e 75 65 20 | p)).........(tags-loop-continue. | 
| 37ee0 | 28 6f 72 20 28 63 6f 6e 73 20 27 6c 69 73 74 20    66 69 6c 65 73 29 20 74 29 29 29 29 29 29 0a 0a | (or.(cons.'list.files).t)))))).. | 
| 37f00 | 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 | 
| 37f20 | 2d 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 20    28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 29 0a | -replace-regexp.(&optional.arg). | 
| 37f40 | 20 20 22 52 65 70 6c 61 63 65 20 61 20 72 65 67    65 78 70 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 | .."Replace.a.regexp.in.the.proje | 
| 37f60 | 63 74 20 75 73 69 6e 67 20 60 74 61 67 73 2d 71    75 65 72 79 2d 72 65 70 6c 61 63 65 27 2e 0a 0a | ct.using.`tags-query-replace'... | 
| 37f80 | 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72    67 75 6d 65 6e 74 20 41 52 47 20 70 72 6f 6d 70 | With.a.prefix.argument.ARG.promp | 
| 37fa0 | 74 73 20 79 6f 75 20 66 6f 72 20 61 20 64 69 72    65 63 74 6f 72 79 20 6f 6e 20 77 68 69 63 68 0a | ts.you.for.a.directory.on.which. | 
| 37fc0 | 74 6f 20 72 75 6e 20 74 68 65 20 72 65 70 6c 61    63 65 6d 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 | to.run.the.replacement."...(inte | 
| 37fe0 | 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28    6c 65 74 2a 20 28 28 64 69 72 65 63 74 6f 72 79 | ractive."P")...(let*.((directory | 
| 38000 | 20 28 69 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 | .(if.arg........................ | 
| 38020 | 20 28 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 20 20 20 20 | .(file-name-as-directory........ | 
| 38040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 | ..................(read-director | 
| 38060 | 79 2d 6e 61 6d 65 20 22 52 65 70 6c 61 63 65 20    72 65 67 65 78 70 20 69 6e 20 64 69 72 65 63 74 | y-name."Replace.regexp.in.direct | 
| 38080 | 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 20 20 20 20 20 20 28 | ory:.")).......................( | 
| 380a0 | 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)))...... | 
| 380c0 | 20 20 20 20 28 6f 6c 64 2d 74 65 78 74 20 28 72    65 61 64 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 | ....(old-text.(read-string...... | 
| 380e0 | 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 65 70 65 | ...............(projectile-prepe | 
| 38100 | 6e 64 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20    22 52 65 70 6c 61 63 65 20 72 65 67 65 78 70 3a | nd-project-name."Replace.regexp: | 
| 38120 | 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 65 63 74 | .").....................(project | 
| 38140 | 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 69 6e 74 | ile-symbol-or-selection-at-point | 
| 38160 | 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 73 74 72 | )))..........(new-text.(read-str | 
| 38180 | 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 74 | ing.....................(project | 
| 381a0 | 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 20 20 20 | ile-prepend-project-name........ | 
| 381c0 | 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 65 20 72 | ..............(format."Replace.r | 
| 381e0 | 65 67 65 78 70 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 | egexp.%s.with:.".old-text))))... | 
| 38200 | 20 20 20 20 20 20 20 28 66 69 6c 65 73 0a 20 20    20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 68 61 | .......(files...........;;.We.ha | 
| 38220 | 76 65 20 74 6f 20 72 65 6a 65 63 74 20 64 69 72    65 63 74 6f 72 69 65 73 20 61 73 20 61 20 77 6f | ve.to.reject.directories.as.a.wo | 
| 38240 | 72 6b 61 72 6f 75 6e 64 20 74 6f 20 77 6f 72 6b    20 77 69 74 68 20 67 69 74 20 73 75 62 6d 6f 64 | rkaround.to.work.with.git.submod | 
| 38260 | 75 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20    3b 3b 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | ules............;;...........;;. | 
| 38280 | 57 65 20 63 61 6e 27 74 20 6e 61 72 72 6f 77 20    74 68 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 | We.can't.narrow.the.list.of.file | 
| 382a0 | 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20    20 3b 3b 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | s.with...........;;.`projectile- | 
| 382c0 | 66 69 6c 65 73 2d 77 69 74 68 2d 73 74 72 69 6e    67 27 20 62 65 63 61 75 73 65 20 74 68 6f 73 65 | files-with-string'.because.those | 
| 382e0 | 20 72 65 67 65 78 70 20 74 6f 6f 6c 73 0a 20 20    20 20 20 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 | .regexp.tools...........;;.don't | 
| 38300 | 20 73 75 70 70 6f 72 74 20 45 6d 61 63 73 20 72    65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f | .support.Emacs.regular.expressio | 
| 38320 | 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 28 63    6c 2d 72 65 6d 6f 76 65 2d 69 66 0a 20 20 20 20 | ns............(cl-remove-if..... | 
| 38340 | 20 20 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 20 20 20 | .......#'file-directory-p....... | 
| 38360 | 20 20 20 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 | .....(mapcar.#'(lambda.(file).(e | 
| 38380 | 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)) | 
| 383a0 | 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 65 63 74 69 6c 65 2d | ....................(projectile- | 
| 383c0 | 64 69 72 2d 66 69 6c 65 73 20 64 69 72 65 63 74    6f 72 79 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 | dir-files.directory))))).....;;. | 
| 383e0 | 46 49 58 4d 45 3a 20 50 72 6f 62 61 62 6c 79 20    77 6f 75 6c 64 20 66 61 69 6c 20 6f 6e 20 45 6d | FIXME:.Probably.would.fail.on.Em | 
| 38400 | 61 63 73 20 32 37 2b 2c 20 66 6f 75 72 74 68 20    61 72 67 75 6d 65 6e 74 20 69 73 20 67 6f 6e 65 | acs.27+,.fourth.argument.is.gone | 
| 38420 | 2e 0a 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77    61 72 6e 69 6e 67 73 20 28 74 61 67 73 2d 71 75 | ......(with-no-warnings.(tags-qu | 
| 38440 | 65 72 79 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 6e 69 | ery-replace.old-text.new-text.ni | 
| 38460 | 6c 20 28 63 6f 6e 73 20 27 6c 69 73 74 20 66 69    6c 65 73 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 | l.(cons.'list.files)))))..;;;### | 
| 38480 | 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 6b 69 6c 6c 2d | autoload.(defun.projectile-kill- | 
| 384a0 | 62 75 66 66 65 72 73 20 28 29 0a 20 20 22 4b 69    6c 6c 20 70 72 6f 6a 65 63 74 20 62 75 66 66 65 | buffers.()..."Kill.project.buffe | 
| 384c0 | 72 73 2e 0a 0a 54 68 65 20 62 75 66 66 65 72 20    61 72 65 20 6b 69 6c 6c 65 64 20 61 63 63 6f 72 | rs...The.buffer.are.killed.accor | 
| 384e0 | 64 69 6e 67 20 74 6f 20 74 68 65 20 76 61 6c 75    65 20 6f 66 0a 60 70 72 6f 6a 65 63 74 69 6c 65 | ding.to.the.value.of.`projectile | 
| 38500 | 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 73 2d 66 69    6c 74 65 72 27 2e 22 0a 20 20 28 69 6e 74 65 72 | -kill-buffers-filter'."...(inter | 
| 38520 | 61 63 74 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 | active)...(let*.((project.(proje | 
| 38540 | 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 20 20 20 20 28 70 | ctile-acquire-root))..........(p | 
| 38560 | 72 6f 6a 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 | roject-name.(projectile-project- | 
| 38580 | 6e 61 6d 65 20 70 72 6f 6a 65 63 74 29 29 0a 20    20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 73 | name.project))..........(buffers | 
| 385a0 | 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 6f | .(projectile-project-buffers.pro | 
| 385c0 | 6a 65 63 74 29 29 29 0a 20 20 20 20 28 77 68 65    6e 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 0a 20 | ject))).....(when.(yes-or-no-p.. | 
| 385e0 | 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61    74 20 22 41 72 65 20 79 6f 75 20 73 75 72 65 20 | ..........(format."Are.you.sure. | 
| 38600 | 79 6f 75 20 77 61 6e 74 20 74 6f 20 6b 69 6c 6c    20 25 73 20 62 75 66 66 65 72 73 20 66 6f 72 20 | you.want.to.kill.%s.buffers.for. | 
| 38620 | 27 25 73 27 3f 20 22 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 | '%s'?."....................(leng | 
| 38640 | 74 68 20 62 75 66 66 65 72 73 29 20 70 72 6f 6a    65 63 74 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 | th.buffers).project-name))...... | 
| 38660 | 20 28 64 6f 6c 69 73 74 20 28 62 75 66 66 65 72    20 62 75 66 66 65 72 73 29 0a 20 20 20 20 20 20 | .(dolist.(buffer.buffers)....... | 
| 38680 | 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 | ..(when.(and................;;.w | 
| 386a0 | 65 20 74 61 6b 65 20 63 61 72 65 20 6e 6f 74 20    74 6f 20 6b 69 6c 6c 20 69 6e 64 69 72 65 63 74 | e.take.care.not.to.kill.indirect | 
| 386c0 | 20 62 75 66 66 65 72 73 20 64 69 72 65 63 74 6c    79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .buffers.directly............... | 
| 386e0 | 20 3b 3b 20 61 73 20 77 65 20 6d 69 67 68 74 20    65 6e 63 6f 75 6e 74 65 72 20 74 68 65 6d 20 61 | .;;.as.we.might.encounter.them.a | 
| 38700 | 66 74 65 72 20 74 68 65 69 72 20 62 61 73 65 20    62 75 66 66 65 72 73 20 61 72 65 20 6b 69 6c 6c | fter.their.base.buffers.are.kill | 
| 38720 | 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6e 6f 74 20 28 62 75 66 66 65 72 2d 62 | ed................(not.(buffer-b | 
| 38740 | 61 73 65 2d 62 75 66 66 65 72 20 62 75 66 66 65    72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ase-buffer.buffer))............. | 
| 38760 | 20 20 20 28 69 66 20 28 66 75 6e 63 74 69 6f 6e    70 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 69 6c | ...(if.(functionp.projectile-kil | 
| 38780 | 6c 2d 62 75 66 66 65 72 73 2d 66 69 6c 74 65 72    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l-buffers-filter)............... | 
| 387a0 | 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 6b 69 6c 6c 2d 62 75 | .....(funcall.projectile-kill-bu | 
| 387c0 | 66 66 65 72 73 2d 66 69 6c 74 65 72 20 62 75 66    66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ffers-filter.buffer)............ | 
| 387e0 | 20 20 20 20 20 20 28 70 63 61 73 65 20 70 72 6f    6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d 62 75 66 | ......(pcase.projectile-kill-buf | 
| 38800 | 66 65 72 73 2d 66 69 6c 74 65 72 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | fers-filter....................( | 
| 38820 | 27 6b 69 6c 6c 2d 61 6c 6c 20 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 'kill-all.t).................... | 
| 38840 | 28 27 6b 69 6c 6c 2d 6f 6e 6c 79 2d 66 69 6c 65    73 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e | ('kill-only-files.(buffer-file-n | 
| 38860 | 61 6d 65 20 62 75 66 66 65 72 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ame.buffer)).................... | 
| 38880 | 28 5f 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22    49 6e 76 61 6c 69 64 20 70 72 6f 6a 65 63 74 69 | (_.(user-error."Invalid.projecti | 
| 388a0 | 6c 65 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 73 2d    66 69 6c 74 65 72 20 76 61 6c 75 65 3a 20 25 53 | le-kill-buffers-filter.value:.%S | 
| 388c0 | 22 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 | ".projectile-kill-buffers-filter | 
| 388e0 | 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 | )))))...........(kill-buffer.buf | 
| 38900 | 66 65 72 29 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 6e | fer))))))..;;;###autoload.(defun | 
| 38920 | 20 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 65 72 73 | .projectile-save-project-buffers | 
| 38940 | 20 28 29 0a 20 20 22 53 61 76 65 20 61 6c 6c 20    70 72 6f 6a 65 63 74 20 62 75 66 66 65 72 73 2e | .()..."Save.all.project.buffers. | 
| 38960 | 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 6a | "...(interactive)...(let*.((proj | 
| 38980 | 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)).. | 
| 389a0 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    2d 6e 61 6d 65 20 28 70 72 6f 6a 65 63 74 69 6c | ........(project-name.(projectil | 
| 389c0 | 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 70    72 6f 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 | e-project-name.project))........ | 
| 389e0 | 20 20 28 6d 6f 64 69 66 69 65 64 2d 62 75 66 66    65 72 73 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 | ..(modified-buffers.(cl-remove-i | 
| 38a00 | 66 2d 6e 6f 74 20 28 6c 61 6d 62 64 61 20 28 62    75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | f-not.(lambda.(buf)............. | 
| 38a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 38a40 | 20 20 20 28 61 6e 64 20 28 62 75 66 66 65 72 2d    66 69 6c 65 2d 6e 61 6d 65 20 62 75 66 29 0a 20 | ...(and.(buffer-file-name.buf).. | 
| 38a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 38a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 | ...................(buffer-modif | 
| 38aa0 | 69 65 64 2d 70 20 62 75 66 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ied-p.buf))).................... | 
| 38ac0 | 20 20 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 | ..........................(proje | 
| 38ae0 | 63 74 69 6c 65 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 | ctile-project-buffers.project))) | 
| 38b00 | 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20    6d 6f 64 69 66 69 65 64 2d 62 75 66 66 65 72 73 | ).....(if.(null.modified-buffers | 
| 38b20 | 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61    67 65 20 22 5b 25 73 5d 20 4e 6f 20 62 75 66 66 | ).........(message."[%s].No.buff | 
| 38b40 | 65 72 73 20 6e 65 65 64 20 73 61 76 69 6e 67 22    20 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 29 0a 20 | ers.need.saving".project-name).. | 
| 38b60 | 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 62 75    66 20 6d 6f 64 69 66 69 65 64 2d 62 75 66 66 65 | .....(dolist.(buf.modified-buffe | 
| 38b80 | 72 73 29 0a 20 20 20 20 20 20 20 20 28 77 69 74    68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 | rs).........(with-current-buffer | 
| 38ba0 | 20 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 28    73 61 76 65 2d 62 75 66 66 65 72 29 29 29 0a 20 | .buf...........(save-buffer))).. | 
| 38bc0 | 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 5b    25 73 5d 20 53 61 76 65 64 20 25 64 20 62 75 66 | .....(message."[%s].Saved.%d.buf | 
| 38be0 | 66 65 72 73 22 20 70 72 6f 6a 65 63 74 2d 6e 61    6d 65 20 28 6c 65 6e 67 74 68 20 6d 6f 64 69 66 | fers".project-name.(length.modif | 
| 38c00 | 69 65 64 2d 62 75 66 66 65 72 73 29 29 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | ied-buffers)))))..;;;###autoload | 
| 38c20 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 64 69 72 65 64 20 28 29 0a 20 20 22 4f | .(defun.projectile-dired.()..."O | 
| 38c40 | 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 20 74 68 65 20 70 | pen.`dired'.at.the.root.of.the.p | 
| 38c60 | 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 64 69 72 65 | roject."...(interactive)...(dire | 
| 38c80 | 64 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 0a 0a 3b | d.(projectile-acquire-root)))..; | 
| 38ca0 | 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- | 
| 38cc0 | 64 69 72 65 64 2d 6f 74 68 65 72 2d 77 69 6e 64    6f 77 20 28 29 0a 20 20 22 4f 70 65 6e 20 60 64 | dired-other-window.()..."Open.`d | 
| 38ce0 | 69 72 65 64 27 20 20 61 74 20 74 68 65 20 72 6f    6f 74 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 | ired'..at.the.root.of.the.projec | 
| 38d00 | 74 20 69 6e 20 61 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 | t.in.another.window."...(interac | 
| 38d20 | 74 69 76 65 29 0a 20 20 28 64 69 72 65 64 2d 6f    74 68 65 72 2d 77 69 6e 64 6f 77 20 28 70 72 6f | tive)...(dired-other-window.(pro | 
| 38d40 | 6a 65 63 74 69 6c 65 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 | jectile-acquire-root)))..;;;###a | 
| 38d60 | 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 72 65 64 2d | utoload.(defun.projectile-dired- | 
| 38d80 | 6f 74 68 65 72 2d 66 72 61 6d 65 20 28 29 0a 20    20 22 4f 70 65 6e 20 60 64 69 72 65 64 27 20 61 | other-frame.()..."Open.`dired'.a | 
| 38da0 | 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 20 69 6e 20 61 6e 6f | t.the.root.of.the.project.in.ano | 
| 38dc0 | 74 68 65 72 20 66 72 61 6d 65 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 | ther.frame."...(interactive)...( | 
| 38de0 | 64 69 72 65 64 2d 6f 74 68 65 72 2d 66 72 61 6d    65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 | dired-other-frame.(projectile-ac | 
| 38e00 | 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 0a 28 64 | quire-root)))..;;;###autoload.(d | 
| 38e20 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    76 63 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 | efun.projectile-vc.(&optional.pr | 
| 38e40 | 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 22 4f    70 65 6e 20 60 76 63 2d 64 69 72 27 20 61 74 20 | oject-root)..."Open.`vc-dir'.at. | 
| 38e60 | 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 20    70 72 6f 6a 65 63 74 2e 0a 0a 46 6f 72 20 67 69 | the.root.of.the.project...For.gi | 
| 38e80 | 74 20 70 72 6f 6a 65 63 74 73 20 60 6d 61 67 69    74 2d 73 74 61 74 75 73 2d 69 6e 74 65 72 6e 61 | t.projects.`magit-status-interna | 
| 38ea0 | 6c 27 20 69 73 20 75 73 65 64 20 69 66 20 61 76    61 69 6c 61 62 6c 65 2e 0a 46 6f 72 20 68 67 20 | l'.is.used.if.available..For.hg. | 
| 38ec0 | 70 72 6f 6a 65 63 74 73 20 60 6d 6f 6e 6b 79 2d    73 74 61 74 75 73 27 20 69 73 20 75 73 65 64 20 | projects.`monky-status'.is.used. | 
| 38ee0 | 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 49    66 20 50 52 4f 4a 45 43 54 2d 52 4f 4f 54 20 69 | if.available...If.PROJECT-ROOT.i | 
| 38f00 | 73 20 67 69 76 65 6e 2c 20 69 74 20 69 73 20 6f    70 65 6e 65 64 20 69 6e 73 74 65 61 64 20 6f 66 | s.given,.it.is.opened.instead.of | 
| 38f20 | 20 74 68 65 20 70 72 6f 6a 65 63 74 0a 72 6f 6f    74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 | .the.project.root.directory.of.t | 
| 38f40 | 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65    72 20 66 69 6c 65 2e 20 20 49 66 20 69 6e 74 65 | he.current.buffer.file...If.inte | 
| 38f60 | 72 61 63 74 69 76 65 6c 79 0a 63 61 6c 6c 65 64    20 77 69 74 68 20 61 20 70 72 65 66 69 78 20 61 | ractively.called.with.a.prefix.a | 
| 38f80 | 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 75 73 65    72 20 69 73 20 70 72 6f 6d 70 74 65 64 20 66 6f | rgument,.the.user.is.prompted.fo | 
| 38fa0 | 72 20 61 20 70 72 6f 6a 65 63 74 0a 64 69 72 65    63 74 6f 72 79 20 74 6f 20 6f 70 65 6e 2e 22 0a | r.a.project.directory.to.open.". | 
| 38fc0 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28    61 6e 64 20 63 75 72 72 65 6e 74 2d 70 72 65 66 | ..(interactive.(and.current-pref | 
| 38fe0 | 69 78 2d 61 72 67 0a 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 | ix-arg.....................(list | 
| 39000 | 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 6f 6a 65 63 74 69 6c | ......................(projectil | 
| 39020 | 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 20 20 20 20 20 20 20 | e-completing-read............... | 
| 39040 | 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 70 72    6f 6a 65 63 74 20 56 43 20 69 6e 3a 20 22 0a 20 | ........"Open.project.VC.in:.".. | 
| 39060 | 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 6c 65 2d | .....................projectile- | 
| 39080 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29    29 29 0a 20 20 28 75 6e 6c 65 73 73 20 70 72 6f | known-projects))))...(unless.pro | 
| 390a0 | 6a 65 63 74 2d 72 6f 6f 74 0a 20 20 20 20 28 73    65 74 71 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 | ject-root.....(setq.project-root | 
| 390c0 | 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 0a 20 20 28 | .(projectile-acquire-root)))...( | 
| 390e0 | 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 63 | let.((vcs.(projectile-project-vc | 
| 39100 | 73 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29    29 0a 20 20 20 20 28 63 6c 2d 63 61 73 65 20 76 | s.project-root))).....(cl-case.v | 
| 39120 | 63 73 0a 20 20 20 20 20 20 28 67 69 74 0a 20 20    20 20 20 20 20 28 63 6f 6e 64 20 28 28 66 62 6f | cs.......(git........(cond.((fbo | 
| 39140 | 75 6e 64 70 20 27 6d 61 67 69 74 2d 73 74 61 74    75 73 2d 69 6e 74 65 72 6e 61 6c 29 0a 20 20 20 | undp.'magit-status-internal).... | 
| 39160 | 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 67 69    74 2d 73 74 61 74 75 73 2d 69 6e 74 65 72 6e 61 | ...........(magit-status-interna | 
| 39180 | 6c 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 | l.project-root))..............(( | 
| 391a0 | 66 62 6f 75 6e 64 70 20 27 6d 61 67 69 74 2d 73    74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 | fboundp.'magit-status).......... | 
| 391c0 | 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61    72 6e 69 6e 67 73 20 28 6d 61 67 69 74 2d 73 74 | .....(with-no-warnings.(magit-st | 
| 391e0 | 61 74 75 73 20 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | atus.project-root)))............ | 
| 39200 | 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 76 63 2d 64 69 72 20 70 72 6f 6a 65 | ..(t...............(vc-dir.proje | 
| 39220 | 63 74 2d 72 6f 6f 74 29 29 29 29 0a 20 20 20 20    20 20 28 68 67 0a 20 20 20 20 20 20 20 28 69 66 | ct-root)))).......(hg........(if | 
| 39240 | 20 28 66 62 6f 75 6e 64 70 20 27 6d 6f 6e 6b 79    2d 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 | .(fboundp.'monky-status)........ | 
| 39260 | 20 20 20 20 28 6d 6f 6e 6b 79 2d 73 74 61 74 75    73 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a | ....(monky-status.project-root). | 
| 39280 | 20 20 20 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 | .........(vc-dir.project-root))) | 
| 392a0 | 0a 20 20 20 20 20 20 28 74 20 28 76 63 2d 64 69    72 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 | .......(t.(vc-dir.project-root)) | 
| 392c0 | 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 | 
| 392e0 | 63 74 69 6c 65 2d 72 65 63 65 6e 74 66 20 28 29    0a 20 20 22 53 68 6f 77 20 61 20 6c 69 73 74 20 | ctile-recentf.()..."Show.a.list. | 
| 39300 | 6f 66 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 61 20 70 | of.recently.visited.files.in.a.p | 
| 39320 | 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 69 66 20 28 | roject."...(interactive)...(if.( | 
| 39340 | 62 6f 75 6e 64 70 20 27 72 65 63 65 6e 74 66 2d    6c 69 73 74 29 0a 20 20 20 20 20 20 28 66 69 6e | boundp.'recentf-list).......(fin | 
| 39360 | 64 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 6f 6f 74 0a 20 | d-file.(projectile-expand-root.. | 
| 39380 | 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 6d | .................(projectile-com | 
| 393a0 | 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 20 | pleting-read.................... | 
| 393c0 | 22 52 65 63 65 6e 74 6c 79 20 76 69 73 69 74 65    64 20 66 69 6c 65 73 3a 20 22 0a 20 20 20 20 20 | "Recently.visited.files:."...... | 
| 393e0 | 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 72 65 63 65 6e 74 | ..............(projectile-recent | 
| 39400 | 66 2d 66 69 6c 65 73 29 29 29 29 0a 20 20 20 20    28 6d 65 73 73 61 67 65 20 22 72 65 63 65 6e 74 | f-files)))).....(message."recent | 
| 39420 | 66 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64    22 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | f.is.not.enabled")))..(defun.pro | 
| 39440 | 6a 65 63 74 69 6c 65 2d 72 65 63 65 6e 74 66 2d    66 69 6c 65 73 20 28 29 0a 20 20 22 52 65 74 75 | jectile-recentf-files.()..."Retu | 
| 39460 | 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 72 65 63    65 6e 74 6c 79 20 76 69 73 69 74 65 64 20 66 69 | rn.a.list.of.recently.visited.fi | 
| 39480 | 6c 65 73 20 69 6e 20 61 20 70 72 6f 6a 65 63 74    2e 22 0a 20 20 28 61 6e 64 20 28 62 6f 75 6e 64 | les.in.a.project."...(and.(bound | 
| 394a0 | 70 20 27 72 65 63 65 6e 74 66 2d 6c 69 73 74 29    0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 | p.'recentf-list)........(let.((p | 
| 394c0 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28 65 78 70    61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 70 | roject-root.(expand-file-name.(p | 
| 394e0 | 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 20 20 | rojectile-acquire-root))))...... | 
| 39500 | 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 | 
| 39520 | 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- | 
| 39540 | 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 | 
| 39560 | 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 | 
| 39580 | 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- | 
| 395a0 | 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 | 
| 395c0 | 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 70 | f-list)))))..(defun.projectile-p | 
| 395e0 | 72 6f 6a 65 63 74 2d 63 61 63 68 65 2d 66 69 6c    65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f | roject-cache-file.(&optional.pro | 
| 39600 | 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 22 54 68    65 20 70 61 74 68 20 74 6f 20 61 20 70 72 6f 6a | ject-root)..."The.path.to.a.proj | 
| 39620 | 65 63 74 27 73 20 63 61 63 68 65 20 66 69 6c 65    20 66 6f 72 20 50 52 4f 4a 45 43 54 2d 52 4f 4f | ect's.cache.file.for.PROJECT-ROO | 
| 39640 | 54 2e 0a 41 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 20 69 | T..Acts.on.the.current.project.i | 
| 39660 | 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20    65 78 70 6c 69 63 69 74 6c 79 2e 22 0a 20 20 28 | s.not.specified.explicitly."...( | 
| 39680 | 69 66 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 0a    20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 | if.project-root.......(expand-fi | 
| 396a0 | 6c 65 2d 6e 61 6d 65 20 70 72 6f 6a 65 63 74 69    6c 65 2d 63 61 63 68 65 2d 66 69 6c 65 20 70 72 | le-name.projectile-cache-file.pr | 
| 396c0 | 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 | oject-root).....(projectile-expa | 
| 396e0 | 6e 64 2d 72 6f 6f 74 20 70 72 6f 6a 65 63 74 69    6c 65 2d 63 61 63 68 65 2d 66 69 6c 65 29 29 29 | nd-root.projectile-cache-file))) | 
| 39700 | 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6e 66 69 67 75 72 65 2d 63 | ..(defvar.projectile-configure-c | 
| 39720 | 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 65 73 74 20 | md-map...(make-hash-table.:test. | 
| 39740 | 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 20 70 72 6f | 'equal)..."A.mapping.between.pro | 
| 39760 | 6a 65 63 74 73 20 61 6e 64 20 74 68 65 20 6c 61    73 74 20 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d | jects.and.the.last.configure.com | 
| 39780 | 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 76 61 72 20 70 72 | mand.used.on.them.")..(defvar.pr | 
| 397a0 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 63 6d 64 2d 6d 61 70 0a 20 20 28 | ojectile-compilation-cmd-map...( | 
| 397c0 | 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 20 20 | make-hash-table.:test.'equal)... | 
| 397e0 | 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 64 20 | "A.mapping.between.projects.and. | 
| 39800 | 74 68 65 20 6c 61 73 74 20 63 6f 6d 70 69 6c 61    74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20 75 73 65 | the.last.compilation.command.use | 
| 39820 | 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 | 
| 39840 | 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 2d 6d 61 70    0a 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 | -install-cmd-map...(make-hash-ta | 
| 39860 | 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 6e 67 20 62 | ble.:test.'equal)..."A.mapping.b | 
| 39880 | 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 20 69 6e 73 | etween.projects.and.the.last.ins | 
| 398a0 | 74 61 6c 6c 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 | tall.command.used.on.them.")..(d | 
| 398c0 | 65 66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65    2d 70 61 63 6b 61 67 65 2d 63 6d 64 2d 6d 61 70 | efvar.projectile-package-cmd-map | 
| 398e0 | 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 | 
| 39900 | 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 63 74 73 20 | )..."A.mapping.between.projects. | 
| 39920 | 61 6e 64 20 74 68 65 20 6c 61 73 74 20 70 61 63    6b 61 67 65 20 63 6f 6d 6d 61 6e 64 20 75 73 65 | and.the.last.package.command.use | 
| 39940 | 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 | 
| 39960 | 2d 74 65 73 74 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 | -test-cmd-map...(make-hash-table | 
| 39980 | 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 77 | .:test.'equal)..."A.mapping.betw | 
| 399a0 | 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 74 65 73 74 20 63 | een.projects.and.the.last.test.c | 
| 399c0 | 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 76 61 72 20 | ommand.used.on.them.")..(defvar. | 
| 399e0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 63    6d 64 2d 6d 61 70 0a 20 20 28 6d 61 6b 65 2d 68 | projectile-run-cmd-map...(make-h | 
| 39a00 | 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 20 6d 61 70 | ash-table.:test.'equal)..."A.map | 
| 39a20 | 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 68 65 20 6c 61 | ping.between.projects.and.the.la | 
| 39a40 | 73 74 20 72 75 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 | st.run.command.used.on.them.").. | 
| 39a60 | 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 65 6e 61 62 6c | (defvar.projectile-project-enabl | 
| 39a80 | 65 2d 63 6d 64 2d 63 61 63 68 69 6e 67 20 74 0a    20 20 22 45 6e 61 62 6c 65 73 20 63 6f 6d 6d 61 | e-cmd-caching.t..."Enables.comma | 
| 39aa0 | 6e 64 20 63 61 63 68 69 6e 67 20 66 6f 72 20 74    68 65 20 70 72 6f 6a 65 63 74 2e 20 20 53 65 74 | nd.caching.for.the.project...Set | 
| 39ac0 | 20 74 6f 20 6e 69 6c 20 74 6f 20 64 69 73 61 62    6c 65 2e 0a 53 68 6f 75 6c 64 20 62 65 20 73 65 | .to.nil.to.disable..Should.be.se | 
| 39ae0 | 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 75 6e 20 | t.via..dir-locals.el.")..(defun. | 
| 39b00 | 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 | 
| 39b20 | 64 73 2d 70 20 28 29 0a 20 20 22 57 68 65 74 68    65 72 20 74 6f 20 63 61 63 68 65 20 70 72 6f 6a | ds-p.()..."Whether.to.cache.proj | 
| 39b40 | 65 63 74 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20    20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 | ect.commands."...(with-temp-buff | 
| 39b60 | 65 72 0a 20 20 20 20 28 68 61 63 6b 2d 64 69 72    2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 | er.....(hack-dir-local-variables | 
| 39b80 | 2d 6e 6f 6e 2d 66 69 6c 65 2d 62 75 66 66 65 72    29 0a 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 | -non-file-buffer).....projectile | 
| 39ba0 | 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 29 29 0a 0a 28 | -project-enable-cmd-caching))..( | 
| 39bc0 | 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 6e 66 69 67 | defvar.projectile-project-config | 
| 39be0 | 75 72 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 74 6f 20 75 73 | ure-cmd.nil..."The.command.to.us | 
| 39c00 | 65 20 77 69 74 68 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 | e.with.`projectile-configure-pro | 
| 39c20 | 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 65 72 20 | ject'..It.takes.precedence.over. | 
| 39c40 | 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 72 6f 6a | the.default.command.for.the.proj | 
| 39c60 | 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 73 65 74 | ect.type.when.set..Should.be.set | 
| 39c80 | 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 61 72 20 | .via..dir-locals.el.")..(defvar. | 
| 39ca0 | 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 6f 6e 2d 63 | projectile-project-compilation-c | 
| 39cc0 | 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 77 69 74 | md.nil..."The.command.to.use.wit | 
| 39ce0 | 68 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 27 2e 0a | h.`projectile-compile-project'.. | 
| 39d00 | 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 | 
| 39d20 | 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 | 
| 39d40 | 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 | 
| 39d60 | 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 | 
| 39d80 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 70    69 6c 61 74 69 6f 6e 2d 64 69 72 20 6e 69 6c 0a | ile-project-compilation-dir.nil. | 
| 39da0 | 20 20 22 54 68 65 20 64 69 72 65 63 74 6f 72 79    20 74 6f 20 75 73 65 20 77 69 74 68 20 60 70 72 | .."The.directory.to.use.with.`pr | 
| 39dc0 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 65    2d 70 72 6f 6a 65 63 74 27 2e 0a 54 68 65 20 64 | ojectile-compile-project'..The.d | 
| 39de0 | 69 72 65 63 74 6f 72 79 20 70 61 74 68 20 69 73    20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 | irectory.path.is.relative.to.the | 
| 39e00 | 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e 0a 53    68 6f 75 6c 64 20 62 65 20 73 65 74 20 76 69 61 | .project.root..Should.be.set.via | 
| 39e20 | 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 61 72 20 70 72 6f 6a | ..dir-locals.el.")..(defvar.proj | 
| 39e40 | 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74    65 73 74 2d 63 6d 64 20 6e 69 6c 0a 20 20 22 54 | ectile-project-test-cmd.nil..."T | 
| 39e60 | 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 | 
| 39e80 | 6c 65 2d 74 65 73 74 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 | le-test-project'..It.takes.prece | 
| 39ea0 | 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 64 20 66 | dence.over.the.default.command.f | 
| 39ec0 | 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 68 | or.the.project.type.when.set..Sh | 
| 39ee0 | 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 22 | ould.be.set.via..dir-locals.el." | 
| 39f00 | 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 69 6e | )..(defvar.projectile-project-in | 
| 39f20 | 73 74 61 6c 6c 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 | stall-cmd.nil..."The.command.to. | 
| 39f40 | 75 73 65 20 77 69 74 68 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 69 6e 73 74 61 6c 6c 2d 70 72 6f | use.with.`projectile-install-pro | 
| 39f60 | 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 65 72 20 | ject'..It.takes.precedence.over. | 
| 39f80 | 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 72 6f 6a | the.default.command.for.the.proj | 
| 39fa0 | 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 73 65 74 | ect.type.when.set..Should.be.set | 
| 39fc0 | 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 61 72 20 | .via..dir-locals.el.")..(defvar. | 
| 39fe0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 70 61 63 6b 61 67 65 2d 63 6d 64 20 6e | projectile-project-package-cmd.n | 
| 3a000 | 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 77 69 74 68 20 60 70 | il..."The.command.to.use.with.`p | 
| 3a020 | 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 27 2e 0a 49 74 20 74 | rojectile-package-project'..It.t | 
| 3a040 | 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 61 75 6c 74 | akes.precedence.over.the.default | 
| 3a060 | 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 65 20 77 68 | .command.for.the.project.type.wh | 
| 3a080 | 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 69 72 2d 6c | en.set..Should.be.set.via..dir-l | 
| 3a0a0 | 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 69 6c 65 2d | ocals.el.")..(defvar.projectile- | 
| 3a0c0 | 70 72 6f 6a 65 63 74 2d 72 75 6e 2d 63 6d 64 20    6e 69 6c 0a 20 20 22 54 68 65 20 63 6f 6d 6d 61 | project-run-cmd.nil..."The.comma | 
| 3a0e0 | 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 72 75 6e 2d 70 | nd.to.use.with.`projectile-run-p | 
| 3a100 | 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 65 | roject'..It.takes.precedence.ove | 
| 3a120 | 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 72 | r.the.default.command.for.the.pr | 
| 3a140 | 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 73 | oject.type.when.set..Should.be.s | 
| 3a160 | 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 75 6e | et.via..dir-locals.el.")..(defun | 
| 3a180 | 20 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 | 
| 3a1a0 | 61 6e 64 20 28 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a | and.(project-type.command-type). | 
| 3a1c0 | 20 20 22 47 65 6e 65 72 69 63 20 72 65 74 72 69    65 76 61 6c 20 6f 66 20 43 4f 4d 4d 41 4e 44 2d | .."Generic.retrieval.of.COMMAND- | 
| 3a1e0 | 54 59 50 45 73 20 64 65 66 61 75 6c 74 20 63 6d    64 2d 76 61 6c 75 65 20 66 6f 72 20 50 52 4f 4a | TYPEs.default.cmd-value.for.PROJ | 
| 3a200 | 45 43 54 2d 54 59 50 45 2e 0a 0a 49 66 20 66 6f    75 6e 64 2c 20 63 68 65 63 6b 73 20 69 66 20 76 | ECT-TYPE...If.found,.checks.if.v | 
| 3a220 | 61 6c 75 65 20 69 73 20 73 79 6d 62 6f 6c 20 6f    72 20 73 74 72 69 6e 67 2e 20 20 49 6e 20 63 61 | alue.is.symbol.or.string...In.ca | 
| 3a240 | 73 65 20 6f 66 20 73 79 6d 62 6f 6c 0a 72 65 73    6f 6c 76 65 73 20 74 6f 20 66 75 6e 63 74 69 6f | se.of.symbol.resolves.to.functio | 
| 3a260 | 6e 20 60 66 75 6e 63 61 6c 6c 27 73 2e 20 20 52    65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 66 | n.`funcall's...Return.value.of.f | 
| 3a280 | 75 6e 63 74 69 6f 6e 20 4d 55 53 54 0a 62 65 20    73 74 72 69 6e 67 20 74 6f 20 62 65 20 65 78 65 | unction.MUST.be.string.to.be.exe | 
| 3a2a0 | 63 75 74 65 64 20 61 73 20 63 6f 6d 6d 61 6e 64    2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d 6d | cuted.as.command."...(let.((comm | 
| 3a2c0 | 61 6e 64 20 28 70 6c 69 73 74 2d 67 65 74 20 28    61 6c 69 73 74 2d 67 65 74 20 70 72 6f 6a 65 63 | and.(plist-get.(alist-get.projec | 
| 3a2e0 | 74 2d 74 79 70 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 | t-type.projectile-project-types) | 
| 3a300 | 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 29 29    0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 | .command-type))).....(cond...... | 
| 3a320 | 28 28 6e 6f 74 20 63 6f 6d 6d 61 6e 64 29 20 6e    69 6c 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e | ((not.command).nil)......((strin | 
| 3a340 | 67 70 20 63 6f 6d 6d 61 6e 64 29 20 63 6f 6d 6d    61 6e 64 29 0a 20 20 20 20 20 28 28 66 75 6e 63 | gp.command).command)......((func | 
| 3a360 | 74 69 6f 6e 70 20 63 6f 6d 6d 61 6e 64 29 0a 20    20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 | tionp.command).......(if.(fbound | 
| 3a380 | 70 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20    20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 73 | p.command)...........(funcall.(s | 
| 3a3a0 | 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 63    6f 6d 6d 61 6e 64 29 29 29 29 0a 20 20 20 20 20 | ymbol-function.command))))...... | 
| 3a3c0 | 28 74 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20    22 54 68 65 20 76 61 6c 75 65 20 66 6f 72 3a 20 | (t.......(error."The.value.for:. | 
| 3a3e0 | 25 73 20 69 6e 20 70 72 6f 6a 65 63 74 2d 74 79    70 65 3a 20 25 73 20 77 61 73 20 6e 65 69 74 68 | %s.in.project-type:.%s.was.neith | 
| 3a400 | 65 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 6e 6f    72 20 61 20 73 74 72 69 6e 67 22 20 63 6f 6d 6d | er.a.function.nor.a.string".comm | 
| 3a420 | 61 6e 64 2d 74 79 70 65 20 70 72 6f 6a 65 63 74    2d 74 79 70 65 29 29 29 29 29 0a 0a 28 64 65 66 | and-type.project-type)))))..(def | 
| 3a440 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65    66 61 75 6c 74 2d 63 6f 6e 66 69 67 75 72 65 2d | un.projectile-default-configure- | 
| 3a460 | 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 69 65 | command.(project-type)..."Retrie | 
| 3a480 | 76 65 20 64 65 66 61 75 6c 74 20 63 6f 6e 66 69    67 75 72 65 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 | ve.default.configure.command.for | 
| 3a4a0 | 20 50 52 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 | .PROJECT-TYPE."...(projectile-de | 
| 3a4c0 | 66 61 75 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 | fault-generic-command.project-ty | 
| 3a4e0 | 70 65 20 27 63 6f 6e 66 69 67 75 72 65 2d 63 6f    6d 6d 61 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 | pe.'configure-command))..(defun. | 
| 3a500 | 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 61 74 69 6f 6e 2d 63 | projectile-default-compilation-c | 
| 3a520 | 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 69 65 76 | ommand.(project-type)..."Retriev | 
| 3a540 | 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 66 6f | e.default.compilation.command.fo | 
| 3a560 | 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 63 74 69 6c 65 2d 64 | r.PROJECT-TYPE."...(projectile-d | 
| 3a580 | 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 6f 6a 65 63 74 2d 74 | efault-generic-command.project-t | 
| 3a5a0 | 79 70 65 20 27 63 6f 6d 70 69 6c 65 2d 63 6f 6d    6d 61 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 70 | ype.'compile-command))..(defun.p | 
| 3a5c0 | 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c    74 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 | rojectile-default-compilation-di | 
| 3a5e0 | 72 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 64 65 66 | r.(project-type)..."Retrieve.def | 
| 3a600 | 61 75 6c 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e    20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 50 | ault.compilation.directory.for.P | 
| 3a620 | 52 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 | ROJECT-TYPE."...(projectile-defa | 
| 3a640 | 75 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 | ult-generic-command.project-type | 
| 3a660 | 20 27 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69    72 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | .'compilation-dir))..(defun.proj | 
| 3a680 | 65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 74    65 73 74 2d 63 6f 6d 6d 61 6e 64 20 28 70 72 6f | ectile-default-test-command.(pro | 
| 3a6a0 | 6a 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 74 | ject-type)..."Retrieve.default.t | 
| 3a6c0 | 65 73 74 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 | est.command.for.PROJECT-TYPE.".. | 
| 3a6e0 | 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 | 
| 3a700 | 6d 61 6e 64 20 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 27 74 65 73 74 2d 63 6f 6d 6d 61 6e 64 29 | mand.project-type.'test-command) | 
| 3a720 | 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 69 6e 73 | )..(defun.projectile-default-ins | 
| 3a740 | 74 61 6c 6c 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 | tall-command.(project-type)..."R | 
| 3a760 | 65 74 72 69 65 76 65 20 64 65 66 61 75 6c 74 20    69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 | etrieve.default.install.command. | 
| 3a780 | 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 63 74 69 6c 65 | for.PROJECT-TYPE."...(projectile | 
| 3a7a0 | 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 6f 6a 65 63 74 | -default-generic-command.project | 
| 3a7c0 | 2d 74 79 70 65 20 27 69 6e 73 74 61 6c 6c 2d 63    6f 6d 6d 61 6e 64 29 29 0a 0a 28 64 65 66 75 6e | -type.'install-command))..(defun | 
| 3a7e0 | 20 70 72 6f 6a 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 | .projectile-default-package-comm | 
| 3a800 | 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 64 | and.(project-type)..."Retrieve.d | 
| 3a820 | 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 20 50 52 4f 4a 45 | efault.package.command.for.PROJE | 
| 3a840 | 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 6c 74 2d | CT-TYPE."...(projectile-default- | 
| 3a860 | 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 27 70 61 | generic-command.project-type.'pa | 
| 3a880 | 63 6b 61 67 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 | ckage-command))..(defun.projecti | 
| 3a8a0 | 6c 65 2d 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 2d | le-default-run-command.(project- | 
| 3a8c0 | 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 72 75 6e 20 63 6f | type)..."Retrieve.default.run.co | 
| 3a8e0 | 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 28 70 72 6f 6a | mmand.for.PROJECT-TYPE."...(proj | 
| 3a900 | 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 64 20 70 | ectile-default-generic-command.p | 
| 3a920 | 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 72 75 6e    2d 63 6f 6d 6d 61 6e 64 29 29 0a 0a 28 64 65 66 | roject-type.'run-command))..(def | 
| 3a940 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f    6e 66 69 67 75 72 65 2d 63 6f 6d 6d 61 6e 64 20 | un.projectile-configure-command. | 
| 3a960 | 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 68 65 20 63 6f | (compile-dir)..."Retrieve.the.co | 
| 3a980 | 6e 66 69 67 75 72 65 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 | nfigure.command.for.COMPILE-DIR. | 
| 3a9a0 | 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 69 6b 65 | ..The.command.is.determined.like | 
| 3a9c0 | 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 6a 65 63 | .this:..-.first.we.check.`projec | 
| 3a9e0 | 74 69 6c 65 2d 63 6f 6e 66 69 67 75 72 65 2d 63    6d 64 2d 6d 61 70 27 20 66 6f 72 20 74 68 65 20 | tile-configure-cmd-map'.for.the. | 
| 3aa00 | 6c 61 73 74 0a 63 6f 6e 66 69 67 75 72 65 20 63    6f 6d 6d 61 6e 64 20 74 68 61 74 20 77 61 73 20 | last.configure.command.that.was. | 
| 3aa20 | 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 | 
| 3aa40 | 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- | 
| 3aa60 | 63 6f 6e 66 69 67 75 72 65 2d 63 6d 64 27 20 73    75 70 70 6c 69 65 64 0a 76 69 61 20 2e 64 69 72 | configure-cmd'.supplied.via..dir | 
| 3aa80 | 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 6b 20 66 | -locals.el..-.finally.we.check.f | 
| 3aaa0 | 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 63    6f 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61 6e 64 | or.the.default.configure.command | 
| 3aac0 | 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 20 28 | .for.a.project.of.that.type"...( | 
| 3aae0 | 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 74 69 | or.(gethash.compile-dir.projecti | 
| 3ab00 | 6c 65 2d 63 6f 6e 66 69 67 75 72 65 2d 63 6d 64    2d 6d 61 70 29 0a 20 20 20 20 20 20 70 72 6f 6a | le-configure-cmd-map).......proj | 
| 3ab20 | 65 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 0a 20 20 20 | ectile-project-configure-cmd.... | 
| 3ab40 | 20 20 20 28 6c 65 74 20 28 28 63 6d 64 2d 66 6f    72 6d 61 74 2d 73 74 72 69 6e 67 20 28 70 72 6f | ...(let.((cmd-format-string.(pro | 
| 3ab60 | 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d    63 6f 6e 66 69 67 75 72 65 2d 63 6f 6d 6d 61 6e | jectile-default-configure-comman | 
| 3ab80 | 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 29 0a 20 | d.(projectile-project-type)))).. | 
| 3aba0 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 6d 64    2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 0a 20 | .......(when.cmd-format-string.. | 
| 3abc0 | 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74    20 63 6d 64 2d 66 6f 72 6d 61 74 2d 73 74 72 69 | .........(format.cmd-format-stri | 
| 3abe0 | 6e 67 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 20 63 6f 6d | ng.(projectile-project-root).com | 
| 3ac00 | 70 69 6c 65 2d 64 69 72 29 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | pile-dir)))))..(defun.projectile | 
| 3ac20 | 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 62 75 66    66 65 72 2d 6e 61 6d 65 20 28 63 6f 6d 70 69 6c | -compilation-buffer-name.(compil | 
| 3ac40 | 61 74 69 6f 6e 2d 6d 6f 64 65 29 0a 20 20 22 4d    65 61 6e 74 20 74 6f 20 62 65 20 75 73 65 64 20 | ation-mode)..."Meant.to.be.used. | 
| 3ac60 | 66 6f 72 20 60 63 6f 6d 70 69 6c 61 74 69 6f 6e    2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e | for.`compilation-buffer-name-fun | 
| 3ac80 | 63 74 69 6f 6e 60 2e 0a 41 72 67 75 6d 65 6e 74    20 43 4f 4d 50 49 4c 41 54 49 4f 4e 2d 4d 4f 44 | ction`..Argument.COMPILATION-MOD | 
| 3aca0 | 45 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66    20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 | E.is.the.name.of.the.major.mode. | 
| 3acc0 | 75 73 65 64 20 66 6f 72 20 74 68 65 0a 63 6f 6d    70 69 6c 61 74 69 6f 6e 20 62 75 66 66 65 72 2e | used.for.the.compilation.buffer. | 
| 3ace0 | 22 0a 20 20 28 63 6f 6e 63 61 74 20 22 2a 22 20    28 64 6f 77 6e 63 61 73 65 20 63 6f 6d 70 69 6c | "...(concat."*".(downcase.compil | 
| 3ad00 | 61 74 69 6f 6e 2d 6d 6f 64 65 29 20 22 2a 22 0a    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 70 | ation-mode)."*"...........(if.(p | 
| 3ad20 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 70 29 20 28 63 6f 6e 63 61 74 20 22 3c 22 | rojectile-project-p).(concat."<" | 
| 3ad40 | 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 29 20 22 3e 22 29 20 | .(projectile-project-name).">"). | 
| 3ad60 | 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 63 75 72 72 65 6e 74 | "")))..(defun.projectile-current | 
| 3ad80 | 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d    70 20 28 29 0a 20 20 22 4d 65 61 6e 74 20 74 6f | -project-buffer-p.()..."Meant.to | 
| 3ada0 | 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 73 61 76 65 2d 62 | .be.used.for.`compilation-save-b | 
| 3adc0 | 75 66 66 65 72 73 2d 70 72 65 64 69 63 61 74 65    60 2e 0a 54 68 69 73 20 69 6e 64 69 63 61 74 65 | uffers-predicate`..This.indicate | 
| 3ade0 | 73 20 77 68 65 74 68 65 72 20 74 68 65 20 63 75    72 72 65 6e 74 20 62 75 66 66 65 72 20 69 73 20 | s.whether.the.current.buffer.is. | 
| 3ae00 | 69 6e 20 74 68 65 20 73 61 6d 65 20 70 72 6f 6a    65 63 74 20 61 73 20 74 68 65 20 63 75 72 72 65 | in.the.same.project.as.the.curre | 
| 3ae20 | 6e 74 0a 77 69 6e 64 6f 77 20 28 69 6e 63 6c 75    64 69 6e 67 20 72 65 74 75 72 6e 69 6e 67 20 74 | nt.window.(including.returning.t | 
| 3ae40 | 72 75 65 20 69 66 20 6e 65 69 74 68 65 72 20 69    73 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 29 2e | rue.if.neither.is.in.a.project). | 
| 3ae60 | 22 0a 20 20 28 6c 65 74 20 28 28 72 6f 6f 74 20    28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 | "...(let.((root.(with-current-bu | 
| 3ae80 | 66 66 65 72 20 28 77 69 6e 64 6f 77 2d 62 75 66    66 65 72 29 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ffer.(window-buffer).(projectile | 
| 3aea0 | 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29    29 0a 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 72 | -project-root)))).....(or.(not.r | 
| 3aec0 | 6f 6f 74 29 0a 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 | oot).........(projectile-project | 
| 3aee0 | 2d 62 75 66 66 65 72 2d 70 20 28 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 29 20 72 6f 6f 74 29 | -buffer-p.(current-buffer).root) | 
| 3af00 | 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 69 6c 61 74 69 | )))..(defun.projectile-compilati | 
| 3af20 | 6f 6e 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 | on-command.(compile-dir)..."Retr | 
| 3af40 | 69 65 76 65 20 74 68 65 20 63 6f 6d 70 69 6c 61    74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 | ieve.the.compilation.command.for | 
| 3af60 | 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 65 | .COMPILE-DIR...The.command.is.de | 
| 3af80 | 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 20 | termined.like.this:..-.first.we. | 
| 3afa0 | 63 68 65 63 6b 20 60 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 | check.`projectile-compilation-cm | 
| 3afc0 | 64 2d 6d 61 70 27 20 66 6f 72 20 74 68 65 20 6c    61 73 74 0a 63 6f 6d 70 69 6c 65 20 63 6f 6d 6d | d-map'.for.the.last.compile.comm | 
| 3afe0 | 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 6a | and.that.was.invoked.on.the.proj | 
| 3b000 | 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 63 | ect..-.then.we.check.for.`projec | 
| 3b020 | 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 20 73 75 | tile-project-compilation-cmd'.su | 
| 3b040 | 70 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 | pplied.via..dir-locals.el..-.fin | 
| 3b060 | 61 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 | ally.we.check.for.the.default.co | 
| 3b080 | 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e    64 20 66 6f 72 20 61 0a 70 72 6f 6a 65 63 74 20 | mpilation.command.for.a.project. | 
| 3b0a0 | 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 6d | of.that.type"...(or.(gethash.com | 
| 3b0c0 | 70 69 6c 65 2d 64 69 72 20 70 72 6f 6a 65 63 74    69 6c 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d | pile-dir.projectile-compilation- | 
| 3b0e0 | 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 6f 6a 65 63 | cmd-map).......projectile-projec | 
| 3b100 | 74 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6d    64 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 | t-compilation-cmd.......(project | 
| 3b120 | 69 6c 65 2d 64 65 66 61 75 6c 74 2d 63 6f 6d 70    69 6c 61 74 69 6f 6e 2d 63 6f 6d 6d 61 6e 64 20 | ile-default-compilation-command. | 
| 3b140 | 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 0a 28 64 | (projectile-project-type))))..(d | 
| 3b160 | 65 66 75 6e 20 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 63 6f | efun.projectile-test-command.(co | 
| 3b180 | 6d 70 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 74 65 73 74 20 | mpile-dir)..."Retrieve.the.test. | 
| 3b1a0 | 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 20 63 6f | command.for.COMPILE-DIR...The.co | 
| 3b1c0 | 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 3a 0a 0a | mmand.is.determined.like.this:.. | 
| 3b1e0 | 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 74 65 73 | -.first.we.check.`projectile-tes | 
| 3b200 | 74 2d 63 6d 64 2d 6d 61 70 27 20 66 6f 72 20 74    68 65 20 6c 61 73 74 0a 74 65 73 74 20 63 6f 6d | t-cmd-map'.for.the.last.test.com | 
| 3b220 | 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 | 
| 3b240 | 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 | 
| 3b260 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 65    73 74 2d 63 6d 64 27 20 73 75 70 70 6c 69 65 64 | ctile-project-test-cmd'.supplied | 
| 3b280 | 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 6c 6c 79 20 77 | .via..dir-locals.el..-.finally.w | 
| 3b2a0 | 65 20 63 68 65 63 6b 20 66 6f 72 20 74 68 65 20    64 65 66 61 75 6c 74 20 74 65 73 74 20 63 6f 6d | e.check.for.the.default.test.com | 
| 3b2c0 | 6d 61 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 | mand.for.a.project.of.that.type" | 
| 3b2e0 | 0a 20 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 | ...(or.(gethash.compile-dir.proj | 
| 3b300 | 65 63 74 69 6c 65 2d 74 65 73 74 2d 63 6d 64 2d    6d 61 70 29 0a 20 20 20 20 20 20 70 72 6f 6a 65 | ectile-test-cmd-map).......proje | 
| 3b320 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 65    73 74 2d 63 6d 64 0a 20 20 20 20 20 20 28 70 72 | ctile-project-test-cmd.......(pr | 
| 3b340 | 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74    2d 74 65 73 74 2d 63 6f 6d 6d 61 6e 64 20 28 70 | ojectile-default-test-command.(p | 
| 3b360 | 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 66 | rojectile-project-type))))..(def | 
| 3b380 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e    73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 28 63 | un.projectile-install-command.(c | 
| 3b3a0 | 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 68 65 20 69 6e 73 74 | ompile-dir)..."Retrieve.the.inst | 
| 3b3c0 | 61 6c 6c 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 | all.command.for.COMPILE-DIR...Th | 
| 3b3e0 | 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 69 6b 65 20 74 68 69 | e.command.is.determined.like.thi | 
| 3b400 | 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 6a 65 63 74 69 6c 65 | s:..-.first.we.check.`projectile | 
| 3b420 | 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 2d 6d 61 70    27 20 66 6f 72 20 74 68 65 20 6c 61 73 74 0a 69 | -install-cmd-map'.for.the.last.i | 
| 3b440 | 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 74    68 61 74 20 77 61 73 20 69 6e 76 6f 6b 65 64 20 | nstall.command.that.was.invoked. | 
| 3b460 | 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 63 6b 20 | on.the.project..-.then.we.check. | 
| 3b480 | 66 6f 72 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 2d 69 6e 73 74 61 6c 6c 2d | for.`projectile-project-install- | 
| 3b4a0 | 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 6c | cmd'.supplied.via..dir-locals.el | 
| 3b4c0 | 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 66 | ..-.finally.we.check.for.the.def | 
| 3b4e0 | 61 75 6c 74 20 69 6e 73 74 61 6c 6c 20 63 6f 6d    6d 61 6e 64 20 66 6f 72 20 61 0a 70 72 6f 6a 65 | ault.install.command.for.a.proje | 
| 3b500 | 63 74 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 | ct.of.that.type"...(or.(gethash. | 
| 3b520 | 63 6f 6d 70 69 6c 65 2d 64 69 72 20 70 72 6f 6a    65 63 74 69 6c 65 2d 69 6e 73 74 61 6c 6c 2d 63 | compile-dir.projectile-install-c | 
| 3b540 | 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 6f 6a 65 63 74 | md-map).......projectile-project | 
| 3b560 | 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 0a 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 | -install-cmd.......(projectile-d | 
| 3b580 | 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 65 63 74 69 | efault-install-command.(projecti | 
| 3b5a0 | 6c 65 2d 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 | le-project-type))))..(defun.proj | 
| 3b5c0 | 65 63 74 69 6c 65 2d 70 61 63 6b 61 67 65 2d 63    6f 6d 6d 61 6e 64 20 28 63 6f 6d 70 69 6c 65 2d | ectile-package-command.(compile- | 
| 3b5e0 | 64 69 72 29 0a 20 20 22 52 65 74 72 69 65 76 65    20 74 68 65 20 70 61 63 6b 61 67 65 20 63 6f 6d | dir)..."Retrieve.the.package.com | 
| 3b600 | 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 | 
| 3b620 | 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 | 
| 3b640 | 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 70 61 63 6b 67 61 | irst.we.check.`projectile-packga | 
| 3b660 | 67 65 2d 63 6d 64 2d 6d 61 70 27 20 66 6f 72 20    74 68 65 20 6c 61 73 74 0a 69 6e 73 74 61 6c 6c | ge-cmd-map'.for.the.last.install | 
| 3b680 | 20 63 6f 6d 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 | .command.that.was.invoked.on.the | 
| 3b6a0 | 20 70 72 6f 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 | .project..-.then.we.check.for.`p | 
| 3b6c0 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 70 61 63 6b 61 67 65 2d 63 6d 64 27 20 73 | rojectile-project-package-cmd'.s | 
| 3b6e0 | 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 6c 0a 0a 2d 20 66 69 | upplied.via..dir-locals.el..-.fi | 
| 3b700 | 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 66 61 75 6c 74 20 70 | nally.we.check.for.the.default.p | 
| 3b720 | 61 63 6b 61 67 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 | ackage.command.for.a.project.of. | 
| 3b740 | 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 | 
| 3b760 | 65 2d 64 69 72 20 70 72 6f 6a 65 63 74 69 6c 65    2d 70 61 63 6b 61 67 65 2d 63 6d 64 2d 6d 61 70 | e-dir.projectile-package-cmd-map | 
| 3b780 | 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 70 61 63 6b 61 | ).......projectile-project-packa | 
| 3b7a0 | 67 65 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 | ge-cmd.......(projectile-default | 
| 3b7c0 | 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 69 6c 65 2d 70 72 6f | -package-command.(projectile-pro | 
| 3b7e0 | 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 69 6c 65 | ject-type))))..(defun.projectile | 
| 3b800 | 2d 72 75 6e 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 | -run-command.(compile-dir)..."Re | 
| 3b820 | 74 72 69 65 76 65 20 74 68 65 20 72 75 6e 20 63    6f 6d 6d 61 6e 64 20 66 6f 72 20 43 4f 4d 50 49 | trieve.the.run.command.for.COMPI | 
| 3b840 | 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 6d 69 6e | LE-DIR...The.command.is.determin | 
| 3b860 | 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 63 6b 20 | ed.like.this:..-.first.we.check. | 
| 3b880 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d    63 6d 64 2d 6d 61 70 27 20 66 6f 72 20 74 68 65 | `projectile-run-cmd-map'.for.the | 
| 3b8a0 | 20 6c 61 73 74 0a 72 75 6e 20 63 6f 6d 6d 61 6e    64 20 74 68 61 74 20 77 61 73 20 69 6e 76 6f 6b | .last.run.command.that.was.invok | 
| 3b8c0 | 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 | 
| 3b8e0 | 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 72 75 6e 2d 63 | ck.for.`projectile-project-run-c | 
| 3b900 | 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 6c 0a | md'.supplied.via..dir-locals.el. | 
| 3b920 | 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 66 61 | .-.finally.we.check.for.the.defa | 
| 3b940 | 75 6c 74 20 72 75 6e 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 | ult.run.command.for.a.project.of | 
| 3b960 | 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 6d 70 69 | .that.type"...(or.(gethash.compi | 
| 3b980 | 6c 65 2d 64 69 72 20 70 72 6f 6a 65 63 74 69 6c    65 2d 72 75 6e 2d 63 6d 64 2d 6d 61 70 29 0a 20 | le-dir.projectile-run-cmd-map).. | 
| 3b9a0 | 20 20 20 20 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 0a | .....projectile-project-run-cmd. | 
| 3b9c0 | 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 72 75 6e 2d 63 6f | ......(projectile-default-run-co | 
| 3b9e0 | 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 74 79 70 65 29 29 | mmand.(projectile-project-type)) | 
| 3ba00 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 72 65 61 64 2d 63 6f 6d 6d 61 | ))..(defun.projectile-read-comma | 
| 3ba20 | 6e 64 20 28 70 72 6f 6d 70 74 20 63 6f 6d 6d 61    6e 64 29 0a 20 20 22 41 64 61 70 74 65 64 20 66 | nd.(prompt.command)..."Adapted.f | 
| 3ba40 | 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e    20 60 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72 65 | rom.the.function.`compilation-re | 
| 3ba60 | 61 64 2d 63 6f 6d 6d 61 6e 64 27 2e 22 0a 20 20    28 6c 65 74 20 28 28 63 6f 6d 70 69 6c 65 2d 68 | ad-command'."...(let.((compile-h | 
| 3ba80 | 69 73 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20    3b 3b 20 66 65 74 63 68 20 74 68 65 20 63 6f 6d | istory..........;;.fetch.the.com | 
| 3baa0 | 6d 61 6e 64 20 68 69 73 74 6f 72 79 20 66 6f 72    20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f | mand.history.for.the.current.pro | 
| 3bac0 | 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 28 72    69 6e 67 2d 65 6c 65 6d 65 6e 74 73 20 28 70 72 | ject..........(ring-elements.(pr | 
| 3bae0 | 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 70 | ojectile--get-command-history.(p | 
| 3bb00 | 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 29 0a 20 20 20 20 | rojectile-acquire-root)))))..... | 
| 3bb20 | 28 72 65 61 64 2d 73 68 65 6c 6c 2d 63 6f 6d 6d    61 6e 64 20 70 72 6f 6d 70 74 20 63 6f 6d 6d 61 | (read-shell-command.prompt.comma | 
| 3bb40 | 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 28 69 66 20 28 | nd.........................(if.( | 
| 3bb60 | 65 71 75 61 6c 20 28 63 61 72 20 63 6f 6d 70 69    6c 65 2d 68 69 73 74 6f 72 79 29 20 63 6f 6d 6d | equal.(car.compile-history).comm | 
| 3bb80 | 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | and)............................ | 
| 3bba0 | 20 27 28 63 6f 6d 70 69 6c 65 2d 68 69 73 74 6f    72 79 20 2e 20 31 29 0a 20 20 20 20 20 20 20 20 | .'(compile-history...1)......... | 
| 3bbc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 27 63 6f 6d 70 69 6c 65 2d 68 69 73 74 6f | ..................'compile-histo | 
| 3bbe0 | 72 79 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 69 6c | ry))))..(defun.projectile-compil | 
| 3bc00 | 61 74 69 6f 6e 2d 64 69 72 20 28 29 0a 20 20 22    52 65 74 72 69 65 76 65 20 74 68 65 20 63 6f 6d | ation-dir.()..."Retrieve.the.com | 
| 3bc20 | 70 69 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f    72 79 20 66 6f 72 20 74 68 69 73 20 70 72 6f 6a | pilation.directory.for.this.proj | 
| 3bc40 | 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 6f 74 20 28 70 72 | ect."...(let*.((project-root.(pr | 
| 3bc60 | 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 20 20 20 | ojectile-acquire-root))......... | 
| 3bc80 | 20 28 74 79 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 20 | .(type.(projectile-project-type. | 
| 3bca0 | 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 6f 6d 70 2d 64 69 | project-root))..........(comp-di | 
| 3bcc0 | 72 20 28 6f 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 61 | r.(or.projectile-project-compila | 
| 3bce0 | 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 20 20 20 | tion-dir........................ | 
| 3bd00 | 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 61 74 69 6f 6e | .(projectile-default-compilation | 
| 3bd20 | 2d 64 69 72 20 74 79 70 65 29 29 29 29 0a 20 20    20 20 28 69 66 20 63 6f 6d 70 2d 64 69 72 0a 20 | -dir.type)))).....(if.comp-dir.. | 
| 3bd40 | 20 20 20 20 20 20 20 28 66 69 6c 65 2d 74 72 75    65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 28 | .......(file-truename..........( | 
| 3bd60 | 63 6f 6e 63 61 74 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 70 | concat.(file-name-as-directory.p | 
| 3bd80 | 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 28 66 | roject-root)..................(f | 
| 3bda0 | 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65    63 74 6f 72 79 20 63 6f 6d 70 2d 64 69 72 29 29 | ile-name-as-directory.comp-dir)) | 
| 3bdc0 | 29 0a 20 20 20 20 20 20 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ).......project-root)))..(defun. | 
| 3bde0 | 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 28 61 | projectile-maybe-read-command.(a | 
| 3be00 | 72 67 20 64 65 66 61 75 6c 74 2d 63 6d 64 20 70    72 6f 6d 70 74 29 0a 20 20 22 50 72 6f 6d 70 74 | rg.default-cmd.prompt)..."Prompt | 
| 3be20 | 20 75 73 65 72 20 66 6f 72 20 63 6f 6d 6d 61 6e    64 20 75 6e 6c 65 73 73 20 44 45 46 41 55 4c 54 | .user.for.command.unless.DEFAULT | 
| 3be40 | 2d 43 4d 44 20 69 73 20 61 6e 20 45 6c 69 73 70    20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 69 | -CMD.is.an.Elisp.function."...(i | 
| 3be60 | 66 20 28 61 6e 64 20 28 6f 72 20 28 73 74 72 69    6e 67 70 20 64 65 66 61 75 6c 74 2d 63 6d 64 29 | f.(and.(or.(stringp.default-cmd) | 
| 3be80 | 20 28 6e 75 6c 6c 20 64 65 66 61 75 6c 74 2d 63    6d 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .(null.default-cmd))............ | 
| 3bea0 | 28 6f 72 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d    72 65 61 64 2d 63 6f 6d 6d 61 6e 64 20 61 72 67 | (or.compilation-read-command.arg | 
| 3bec0 | 29 29 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e | )).......(projectile-read-comman | 
| 3bee0 | 64 20 70 72 6f 6d 70 74 20 64 65 66 61 75 6c 74    2d 63 6d 64 29 0a 20 20 20 20 64 65 66 61 75 6c | d.prompt.default-cmd).....defaul | 
| 3bf00 | 74 2d 63 6d 64 29 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 63 | t-cmd))..(defun.projectile-run-c | 
| 3bf20 | 6f 6d 70 69 6c 61 74 69 6f 6e 20 28 63 6d 64 20    26 6f 70 74 69 6f 6e 61 6c 20 75 73 65 2d 63 6f | ompilation.(cmd.&optional.use-co | 
| 3bf40 | 6d 69 6e 74 2d 6d 6f 64 65 29 0a 20 20 22 52 75    6e 20 65 78 74 65 72 6e 61 6c 20 6f 72 20 45 6c | mint-mode)..."Run.external.or.El | 
| 3bf60 | 69 73 70 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20    63 6f 6d 6d 61 6e 64 20 43 4d 44 2e 22 0a 20 20 | isp.compilation.command.CMD."... | 
| 3bf80 | 28 69 66 20 28 66 75 6e 63 74 69 6f 6e 70 20 63    6d 64 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 | (if.(functionp.cmd).......(funca | 
| 3bfa0 | 6c 6c 20 63 6d 64 29 0a 20 20 20 20 28 63 6f 6d    70 69 6c 65 20 63 6d 64 20 75 73 65 2d 63 6f 6d | ll.cmd).....(compile.cmd.use-com | 
| 3bfc0 | 69 6e 74 2d 6d 6f 64 65 29 29 29 0a 0a 28 64 65    66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d | int-mode)))..(defvar.projectile- | 
| 3bfe0 | 70 72 6f 6a 65 63 74 2d 63 6f 6d 6d 61 6e 64 2d    68 69 73 74 6f 72 79 20 28 6d 61 6b 65 2d 68 61 | project-command-history.(make-ha | 
| 3c000 | 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 54 68 65 20 68 69 | sh-table.:test.'equal)..."The.hi | 
| 3c020 | 73 74 6f 72 79 20 6f 66 20 6c 61 73 74 20 65 78    65 63 75 74 65 64 20 70 72 6f 6a 65 63 74 20 63 | story.of.last.executed.project.c | 
| 3c040 | 6f 6d 6d 61 6e 64 73 2c 20 70 65 72 20 70 72 6f    6a 65 63 74 2e 0a 0a 50 72 6f 6a 65 63 74 73 20 | ommands,.per.project...Projects. | 
| 3c060 | 61 72 65 20 69 6e 64 65 78 65 64 20 62 79 20 74    68 65 69 72 20 70 72 6f 6a 65 63 74 2d 72 6f 6f | are.indexed.by.their.project-roo | 
| 3c080 | 74 20 76 61 6c 75 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 67 | t.value.")..(defun.projectile--g | 
| 3c0a0 | 65 74 2d 63 6f 6d 6d 61 6e 64 2d 68 69 73 74 6f    72 79 20 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 | et-command-history.(project-root | 
| 3c0c0 | 29 0a 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 | )...(or.(gethash.project-root.pr | 
| 3c0e0 | 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 6f 72 79 | ojectile-project-command-history | 
| 3c100 | 29 0a 20 20 20 20 20 20 28 70 75 74 68 61 73 68    20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 0a 20 20 | ).......(puthash.project-root... | 
| 3c120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    6b 65 2d 72 69 6e 67 20 31 36 29 0a 20 20 20 20 | .............(make-ring.16)..... | 
| 3c140 | 20 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 2d 63 6f | ...........projectile-project-co | 
| 3c160 | 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 29 29 29    0a 0a 28 63 6c 2d 64 65 66 75 6e 20 70 72 6f 6a | mmand-history)))..(cl-defun.proj | 
| 3c180 | 65 63 74 69 6c 65 2d 2d 72 75 6e 2d 70 72 6f 6a    65 63 74 2d 63 6d 64 0a 20 20 20 20 28 63 6f 6d | ectile--run-project-cmd.....(com | 
| 3c1a0 | 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 2d 6d 61 70    20 26 6b 65 79 20 73 68 6f 77 2d 70 72 6f 6d 70 | mand.command-map.&key.show-promp | 
| 3c1c0 | 74 20 70 72 6f 6d 70 74 2d 70 72 65 66 69 78 20    73 61 76 65 2d 62 75 66 66 65 72 73 20 75 73 65 | t.prompt-prefix.save-buffers.use | 
| 3c1e0 | 2d 63 6f 6d 69 6e 74 2d 6d 6f 64 65 29 0a 20 20    22 52 75 6e 20 61 20 70 72 6f 6a 65 63 74 20 43 | -comint-mode)..."Run.a.project.C | 
| 3c200 | 4f 4d 4d 41 4e 44 2c 20 74 79 70 69 63 61 6c 6c    79 20 61 20 74 65 73 74 2d 20 6f 72 20 63 6f 6d | OMMAND,.typically.a.test-.or.com | 
| 3c220 | 70 69 6c 65 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 43    61 63 68 65 20 74 68 65 20 43 4f 4d 4d 41 4e 44 | pile.command...Cache.the.COMMAND | 
| 3c240 | 20 66 6f 72 20 6c 61 74 65 72 20 75 73 65 20 69    6e 73 69 64 65 20 74 68 65 20 68 61 73 68 2d 74 | .for.later.use.inside.the.hash-t | 
| 3c260 | 61 62 6c 65 20 43 4f 4d 4d 41 4e 44 2d 4d 41 50    2e 0a 0a 4e 6f 72 6d 61 6c 6c 79 20 79 6f 75 27 | able.COMMAND-MAP...Normally.you' | 
| 3c280 | 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 | 
| 3c2a0 | 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 | 
| 3c2c0 | 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 | 
| 3c2e0 | 6f 72 63 65 20 74 68 65 20 70 72 6f 6d 70 74 0a    62 79 20 73 65 74 74 69 6e 67 20 53 48 4f 57 2d | orce.the.prompt.by.setting.SHOW- | 
| 3c300 | 50 52 4f 4d 50 54 2e 20 20 54 68 65 20 70 72 6f    6d 70 74 20 77 69 6c 6c 20 62 65 20 70 72 65 66 | PROMPT...The.prompt.will.be.pref | 
| 3c320 | 69 78 65 64 20 77 69 74 68 20 50 52 4f 4d 50 54    2d 50 52 45 46 49 58 2e 0a 0a 49 66 20 53 41 56 | ixed.with.PROMPT-PREFIX...If.SAV | 
| 3c340 | 45 2d 42 55 46 46 45 52 53 20 69 73 20 6e 6f 6e    2d 6e 69 6c 20 73 61 76 65 20 61 6c 6c 20 70 72 | E-BUFFERS.is.non-nil.save.all.pr | 
| 3c360 | 6f 6a 65 63 74 69 6c 65 20 62 75 66 66 65 72 73    20 62 65 66 6f 72 65 0a 72 75 6e 6e 69 6e 67 20 | ojectile.buffers.before.running. | 
| 3c380 | 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 54 68    65 20 63 6f 6d 6d 61 6e 64 20 61 63 74 75 61 6c | the.command...The.command.actual | 
| 3c3a0 | 6c 79 20 72 75 6e 20 69 73 20 72 65 74 75 72 6e    65 64 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 70 | ly.run.is.returned."...(let*.((p | 
| 3c3c0 | 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 63 74 2d | roject-root.(projectile-project- | 
| 3c3e0 | 72 6f 6f 74 29 29 0a 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 | root))..........(default-directo | 
| 3c400 | 72 79 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 69 72 29 29 | ry.(projectile-compilation-dir)) | 
| 3c420 | 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 61    6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d | ..........(command.(projectile-m | 
| 3c440 | 61 79 62 65 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e    64 20 73 68 6f 77 2d 70 72 6f 6d 70 74 0a 20 20 | aybe-read-command.show-prompt... | 
| 3c460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3c480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63    6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 | ...............command.......... | 
| 3c4a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3c4c0 | 20 20 20 20 20 20 20 20 70 72 6f 6d 70 74 2d 70    72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 | ........prompt-prefix))......... | 
| 3c4e0 | 20 63 6f 6d 70 69 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 | .compilation-buffer-name-functio | 
| 3c500 | 6e 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69    6c 61 74 69 6f 6e 2d 73 61 76 65 2d 62 75 66 66 | n..........compilation-save-buff | 
| 3c520 | 65 72 73 2d 70 72 65 64 69 63 61 74 65 29 0a 20    20 20 20 28 77 68 65 6e 20 63 6f 6d 6d 61 6e 64 | ers-predicate).....(when.command | 
| 3c540 | 2d 6d 61 70 0a 20 20 20 20 20 20 28 70 75 74 68    61 73 68 20 64 65 66 61 75 6c 74 2d 64 69 72 65 | -map.......(puthash.default-dire | 
| 3c560 | 63 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 20 63 6f    6d 6d 61 6e 64 2d 6d 61 70 29 0a 20 20 20 20 20 | ctory.command.command-map)...... | 
| 3c580 | 20 28 6c 65 74 20 28 28 68 69 73 74 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 67 65 74 2d 63 6f | .(let.((hist.(projectile--get-co | 
| 3c5a0 | 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 20 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 0a 20 20 | mmand-history.project-root)))... | 
| 3c5c0 | 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20    20 20 20 20 20 28 28 65 71 20 70 72 6f 6a 65 63 | ......(cond..........((eq.projec | 
| 3c5e0 | 74 69 6c 65 2d 63 6d 64 2d 68 69 73 74 2d 69 67    6e 6f 72 65 64 75 70 73 20 74 29 0a 20 20 20 20 | tile-cmd-hist-ignoredups.t)..... | 
| 3c600 | 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73    74 72 69 6e 67 3d 20 28 63 61 72 2d 73 61 66 65 | ......(unless.(string=.(car-safe | 
| 3c620 | 20 28 72 69 6e 67 2d 65 6c 65 6d 65 6e 74 73 20    68 69 73 74 29 29 20 63 6f 6d 6d 61 6e 64 29 0a | .(ring-elements.hist)).command). | 
| 3c640 | 20 20 20 20 20 20 20 20 20 20 20 20 28 72 69 6e    67 2d 69 6e 73 65 72 74 20 68 69 73 74 20 63 6f | ............(ring-insert.hist.co | 
| 3c660 | 6d 6d 61 6e 64 29 29 29 0a 20 20 20 20 20 20 20    20 20 28 28 65 71 20 70 72 6f 6a 65 63 74 69 6c | mmand)))..........((eq.projectil | 
| 3c680 | 65 2d 63 6d 64 2d 68 69 73 74 2d 69 67 6e 6f 72    65 64 75 70 73 20 27 65 72 61 73 65 29 0a 20 20 | e-cmd-hist-ignoredups.'erase)... | 
| 3c6a0 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69    64 78 20 28 72 69 6e 67 2d 6d 65 6d 62 65 72 20 | ........(let.((idx.(ring-member. | 
| 3c6c0 | 68 69 73 74 20 63 6f 6d 6d 61 6e 64 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 | hist.command))).............(whi | 
| 3c6e0 | 6c 65 20 69 64 78 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 72 69 6e 67 2d 72 65 6d 6f 76 | le.idx...............(ring-remov | 
| 3c700 | 65 20 68 69 73 74 20 69 64 78 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | e.hist.idx)...............(setq. | 
| 3c720 | 69 64 78 20 28 72 69 6e 67 2d 6d 65 6d 62 65 72    20 68 69 73 74 20 63 6f 6d 6d 61 6e 64 29 29 29 | idx.(ring-member.hist.command))) | 
| 3c740 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 69 6e    67 2d 69 6e 73 65 72 74 20 68 69 73 74 20 63 6f | )...........(ring-insert.hist.co | 
| 3c760 | 6d 6d 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20    20 28 74 20 28 72 69 6e 67 2d 69 6e 73 65 72 74 | mmand))..........(t.(ring-insert | 
| 3c780 | 20 68 69 73 74 20 63 6f 6d 6d 61 6e 64 29 29 29    29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 61 76 | .hist.command))))).....(when.sav | 
| 3c7a0 | 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 65 | e-buffers.......(save-some-buffe | 
| 3c7c0 | 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 61 | rs.(not.compilation-ask-about-sa | 
| 3c7e0 | 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 61 | ve)..........................(la | 
| 3c800 | 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 20 | mbda.()......................... | 
| 3c820 | 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 20 | ...(projectile-project-buffer-p. | 
| 3c840 | 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 20 | (current-buffer)................ | 
| 3c860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3c880 | 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 77 | .........project-root)))).....(w | 
| 3c8a0 | 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 69 | hen.projectile-per-project-compi | 
| 3c8c0 | 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 6c | lation-buffer.......(setq.compil | 
| 3c8e0 | 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 6f | ation-buffer-name-function.#'pro | 
| 3c900 | 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 29 | jectile-compilation-buffer-name) | 
| 3c920 | 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 75 | .......(setq.compilation-save-bu | 
| 3c940 | 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 72 | ffers-predicate.#'projectile-cur | 
| 3c960 | 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 6c | rent-project-buffer-p)).....(unl | 
| 3c980 | 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 69 | ess.(file-directory-p.default-di | 
| 3c9a0 | 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 69 | rectory).......(mkdir.default-di | 
| 3c9c0 | 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 6f | rectory)).....(projectile-run-co | 
| 3c9e0 | 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 64 | mpilation.command.use-comint-mod | 
| 3ca00 | 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 6f | e).....command))..(defcustom.pro | 
| 3ca20 | 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 64 | jectile-configure-use-comint-mod | 
| 3ca40 | 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 20 | e.nil..."Make.the.output.buffer. | 
| 3ca60 | 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 74 | of.`projectile-configure-project | 
| 3ca80 | 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 63 | '.interactive."...:group.'projec | 
| 3caa0 | 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 65 | tile...:type.'boolean...:package | 
| 3cac0 | 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 29 | -version.'(projectile..."2.5.0") | 
| 3cae0 | 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 65 | )..(defcustom.projectile-compile | 
| 3cb00 | 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 65 | -use-comint-mode.nil..."Make.the | 
| 3cb20 | 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 6f | .output.buffer.of.`projectile-co | 
| 3cb40 | 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 3a | mpile-project'.interactive."...: | 
| 3cb60 | 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 | 
| 3cb80 | 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 | 
| 3cba0 | 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 65 | le..."2.5.0"))..(defcustom.proje | 
| 3cbc0 | 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 20 | ctile-test-use-comint-mode.nil.. | 
| 3cbe0 | 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 6f | ."Make.the.output.buffer.of.`pro | 
| 3cc00 | 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 76 | jectile-test-project'.interactiv | 
| 3cc20 | 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 | 
| 3cc40 | 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 | 
| 3cc60 | 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 6f | rojectile..."2.5.0"))..(defcusto | 
| 3cc80 | 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 2d | m.projectile-install-use-comint- | 
| 3cca0 | 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 66 | mode.nil..."Make.the.output.buff | 
| 3ccc0 | 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 63 | er.of.`projectile-install-projec | 
| 3cce0 | 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 | 
| 3cd00 | 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 | 
| 3cd20 | 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" | 
| 3cd40 | 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 67 | ))..(defcustom.projectile-packag | 
| 3cd60 | 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 | 
| 3cd80 | 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 70 | e.output.buffer.of.`projectile-p | 
| 3cda0 | 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 20 | ackage-project'.interactive."... | 
| 3cdc0 | 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 | 
| 3cde0 | 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 | 
| 3ce00 | 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 | 
| 3ce20 | 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 20 | ectile-run-use-comint-mode.nil.. | 
| 3ce40 | 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 6f | ."Make.the.output.buffer.of.`pro | 
| 3ce60 | 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 65 | jectile-run-project'.interactive | 
| 3ce80 | 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. | 
| 3cea0 | 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 72 | 'boolean...:package-version.'(pr | 
| 3cec0 | 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 6f | ojectile..."2.5.0"))..;;;###auto | 
| 3cee0 | 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 65 | load.(defun.projectile-configure | 
| 3cf00 | 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 6f | -project.(arg)..."Run.project.co | 
| 3cf20 | 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 6c | nfigure.command...Normally.you'l | 
| 3cf40 | 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 20 | l.be.prompted.for.a.compilation. | 
| 3cf60 | 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 6c | command,.unless.variable.`compil | 
| 3cf80 | 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 6f | ation-read-command'...You.can.fo | 
| 3cfa0 | 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 47 | rce.the.prompt.with.a.prefix.ARG | 
| 3cfc0 | 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 28 | ."...(interactive."P")...(let.(( | 
| 3cfe0 | 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 6f | command.(projectile-configure-co | 
| 3d000 | 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 69 | mmand.(projectile-compilation-di | 
| 3d020 | 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 70 | r))).........(command-map.(if.(p | 
| 3d040 | 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 64 | rojectile--cache-project-command | 
| 3d060 | 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 61 | s-p).projectile-configure-cmd-ma | 
| 3d080 | 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 63 | p))).....(projectile--run-projec | 
| 3d0a0 | 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 20 | t-cmd.command.command-map....... | 
| 3d0c0 | 20 20 20 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 77 | ...........................:show | 
| 3d0e0 | 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 20 | -prompt.arg..................... | 
| 3d100 | 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 6e | .............:prompt-prefix."Con | 
| 3d120 | 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 20 | figure.command:."............... | 
| 3d140 | 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 73 | ...................:save-buffers | 
| 3d160 | 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 20 | .t.............................. | 
| 3d180 | 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 2d | ....:use-comint-mode.projectile- | 
| 3d1a0 | 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 3b | configure-use-comint-mode)))..;; | 
| 3d1c0 | 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 | 
| 3d1e0 | 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 6a | ompile-project.(arg)..."Run.proj | 
| 3d200 | 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 6c | ect.compilation.command...Normal | 
| 3d220 | 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 70 | ly.you'll.be.prompted.for.a.comp | 
| 3d240 | 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 65 | ilation.command,.unless.variable | 
| 3d260 | 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 6f | .`compilation-read-command'...Yo | 
| 3d280 | 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 72 | u.can.force.the.prompt.with.a.pr | 
| 3d2a0 | 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 63 | efix.ARG...Per.project.default.c | 
| 3d2c0 | 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 65 | ommand.can.be.set.through.`proje | 
| 3d2e0 | 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 22 | ctile-project-compilation-cmd'." | 
| 3d300 | 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 6f | ...(interactive."P")...(let.((co | 
| 3d320 | 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 6f | mmand.(projectile-compilation-co | 
| 3d340 | 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 69 | mmand.(projectile-compilation-di | 
| 3d360 | 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 70 | r))).........(command-map.(if.(p | 
| 3d380 | 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 64 | rojectile--cache-project-command | 
| 3d3a0 | 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 2d | s-p).projectile-compilation-cmd- | 
| 3d3c0 | 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 6a | map))).....(projectile--run-proj | 
| 3d3e0 | 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 20 | ect-cmd.command.command-map..... | 
| 3d400 | 20 20 20 20 20 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 | .............................:sh | 
| 3d420 | 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 20 | ow-prompt.arg................... | 
| 3d440 | 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 43 | ...............:prompt-prefix."C | 
| 3d460 | 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 20 | ompile.command:."............... | 
| 3d480 | 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 73 | ...................:save-buffers | 
| 3d4a0 | 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 20 | .t.............................. | 
| 3d4c0 | 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 2d | ....:use-comint-mode.projectile- | 
| 3d4e0 | 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 23 | compile-use-comint-mode)))..;;;# | 
| 3d500 | 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 73 | ##autoload.(defun.projectile-tes | 
| 3d520 | 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 74 | t-project.(arg)..."Run.project.t | 
| 3d540 | 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 65 | est.command...Normally.you'll.be | 
| 3d560 | 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 6d | .prompted.for.a.compilation.comm | 
| 3d580 | 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 6f | and,.unless.variable.`compilatio | 
| 3d5a0 | 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 20 | n-read-command'...You.can.force. | 
| 3d5c0 | 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 20 | the.prompt.with.a.prefix.ARG.".. | 
| 3d5e0 | 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 6d | .(interactive."P")...(let.((comm | 
| 3d600 | 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 72 | and.(projectile-test-command.(pr | 
| 3d620 | 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)))..... | 
| 3d640 | 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 | 
| 3d660 | 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 | 
| 3d680 | 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 6a | ectile-test-cmd-map))).....(proj | 
| 3d6a0 | 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 20 | ectile--run-project-cmd.command. | 
| 3d6c0 | 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 20 | command-map..................... | 
| 3d6e0 | 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 20 | .............:show-prompt.arg... | 
| 3d700 | 20 20 20 20 20 20 20 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 | ...............................: | 
| 3d720 | 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 20 | prompt-prefix."Test.command:.".. | 
| 3d740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3d760 | 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 20 | :save-buffers.t................. | 
| 3d780 | 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 64 | .................:use-comint-mod | 
| 3d7a0 | 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 64 | e.projectile-test-use-comint-mod | 
| 3d7c0 | 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 6a | e)))..;;;###autoload.(defun.proj | 
| 3d7e0 | 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 22 | ectile-install-project.(arg)..." | 
| 3d800 | 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 6f | Run.project.install.command...No | 
| 3d820 | 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 20 | rmally.you'll.be.prompted.for.a. | 
| 3d840 | 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 69 | compilation.command,.unless.vari | 
| 3d860 | 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 2e | able.`compilation-read-command'. | 
| 3d880 | 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 20 | ..You.can.force.the.prompt.with. | 
| 3d8a0 | 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 50 | a.prefix.ARG."...(interactive."P | 
| 3d8c0 | 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 2d | ")...(let.((command.(projectile- | 
| 3d8e0 | 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 70 | install-command.(projectile-comp | 
| 3d900 | 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 2d | ilation-dir))).........(command- | 
| 3d920 | 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 65 | map.(if.(projectile--cache-proje | 
| 3d940 | 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 6c | ct-commands-p).projectile-instal | 
| 3d960 | 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 75 | l-cmd-map))).....(projectile--ru | 
| 3d980 | 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 61 | n-project-cmd.command.command-ma | 
| 3d9a0 | 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 20 | p............................... | 
| 3d9c0 | 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 20 | ...:show-prompt.arg............. | 
| 3d9e0 | 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 65 | .....................:prompt-pre | 
| 3da00 | 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 20 | fix."Install.command:."......... | 
| 3da20 | 20 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 62 | .........................:save-b | 
| 3da40 | 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 20 | uffers.t........................ | 
| 3da60 | 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 65 | ..........:use-comint-mode.proje | 
| 3da80 | 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 29 | ctile-install-use-comint-mode))) | 
| 3daa0 | 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 | 
| 3dac0 | 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 20 | le-package-project.(arg)..."Run. | 
| 3dae0 | 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 6c | project.package.command...Normal | 
| 3db00 | 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 70 | ly.you'll.be.prompted.for.a.comp | 
| 3db20 | 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 65 | ilation.command,.unless.variable | 
| 3db40 | 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 6f | .`compilation-read-command'...Yo | 
| 3db60 | 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 72 | u.can.force.the.prompt.with.a.pr | 
| 3db80 | 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 20 | efix.ARG."...(interactive."P").. | 
| 3dba0 | 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 6b | .(let.((command.(projectile-pack | 
| 3dbc0 | 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 74 | age-command.(projectile-compilat | 
| 3dbe0 | 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 20 | ion-dir))).........(command-map. | 
| 3dc00 | 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 63 | (if.(projectile--cache-project-c | 
| 3dc20 | 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 6d | ommands-p).projectile-package-cm | 
| 3dc40 | 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 72 | d-map))).....(projectile--run-pr | 
| 3dc60 | 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 20 | oject-cmd.command.command-map... | 
| 3dc80 | 20 20 20 20 20 20 20 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 | ...............................: | 
| 3dca0 | 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 20 | show-prompt.arg................. | 
| 3dcc0 | 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 20 | .................:prompt-prefix. | 
| 3dce0 | 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 20 | "Package.command:."............. | 
| 3dd00 | 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 65 | .....................:save-buffe | 
| 3dd20 | 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 20 | rs.t............................ | 
| 3dd40 | 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 6c | ......:use-comint-mode.projectil | 
| 3dd60 | 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 3b | e-package-use-comint-mode)))..;; | 
| 3dd80 | 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 | 
| 3dda0 | 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 20 | un-project.(arg)..."Run.project. | 
| 3ddc0 | 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 65 | run.command...Normally.you'll.be | 
| 3dde0 | 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 6d | .prompted.for.a.compilation.comm | 
| 3de00 | 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 6f | and,.unless.variable.`compilatio | 
| 3de20 | 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 20 | n-read-command'...You.can.force. | 
| 3de40 | 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 20 | the.prompt.with.a.prefix.ARG.".. | 
| 3de60 | 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 6d | .(interactive."P")...(let.((comm | 
| 3de80 | 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 6f | and.(projectile-run-command.(pro | 
| 3dea0 | 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 20 | jectile-compilation-dir)))...... | 
| 3dec0 | 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 2d | ...(command-map.(if.(projectile- | 
| 3dee0 | 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 65 | -cache-project-commands-p).proje | 
| 3df00 | 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 63 | ctile-run-cmd-map))).....(projec | 
| 3df20 | 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 6f | tile--run-project-cmd.command.co | 
| 3df40 | 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 20 | mmand-map....................... | 
| 3df60 | 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 20 | ...........:show-prompt.arg..... | 
| 3df80 | 20 20 20 20 20 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 | 
| 3dfa0 | 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 20 | ompt-prefix."Run.command:."..... | 
| 3dfc0 | 20 20 20 20 20 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 73 | .............................:us | 
| 3dfe0 | 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 65 | e-comint-mode.projectile-run-use | 
| 3e000 | 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 0a | -comint-mode)))..;;;###autoload. | 
| 3e020 | 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 6f | (defun.projectile-repeat-last-co | 
| 3e040 | 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 20 | mmand.(show-prompt)..."Run.last. | 
| 3e060 | 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 78 | projectile.external.command...Ex | 
| 3e080 | 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 65 | ternal.commands.are:.`projectile | 
| 3e0a0 | 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 65 | -configure-project',.`projectile | 
| 3e0c0 | 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 74 | -compile-project',.`projectile-t | 
| 3e0e0 | 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 6c | est-project',.`projectile-instal | 
| 3e100 | 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 2d | l-project',.`projectile-package- | 
| 3e120 | 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 72 | project',.and.`projectile-run-pr | 
| 3e140 | 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 20 | oject'...If.the.prefix.argument. | 
| 3e160 | 53 48 4f 57 2d 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 6d | SHOW-PROMPT.is.non.nil,.the.comm | 
| 3e180 | 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 69 | and.can.be.edited."...(interacti | 
| 3e1a0 | 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 28 | ve."P")...(let*.((project-root.( | 
| 3e1c0 | 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 20 | projectile-acquire-root))....... | 
| 3e1e0 | 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 2d | ...(command-history.(projectile- | 
| 3e200 | 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 6f | -get-command-history.project-roo | 
| 3e220 | 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 20 | t))..........(command.(car-safe. | 
| 3e240 | 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 29 | (ring-elements.command-history)) | 
| 3e260 | 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 6d | )..........(compilation-read-com | 
| 3e280 | 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 75 | mand.show-prompt)..........execu | 
| 3e2a0 | 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 64 | ted-command).....(unless.command | 
| 3e2c0 | 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 68 | .......(user-error."No.command.h | 
| 3e2e0 | 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 74 | as.been.run.yet.for.this.project | 
| 3e300 | 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 20 | ")).....(setq.executed-command.. | 
| 3e320 | 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 63 | .........(projectile--run-projec | 
| 3e340 | 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 20 | t-cmd.command................... | 
| 3e360 | 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 20 | .....................nil........ | 
| 3e380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3e3a0 | 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 20 | :save-buffers.t................. | 
| 3e3c0 | 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 70 | .......................:prompt-p | 
| 3e3e0 | 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 20 | refix."Execute.command:."))..... | 
| 3e400 | 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 65 | (unless.(string=.command.execute | 
| 3e420 | 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 6f | d-command).......(ring-insert.co | 
| 3e440 | 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 29 | mmand-history.executed-command)) | 
| 3e460 | 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 65 | ))..(defun.compilation-find-file | 
| 3e480 | 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 66 | -projectile-find-compilation-buf | 
| 3e4a0 | 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 69 | fer.(orig-fun.marker.filename.di | 
| 3e4c0 | 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 65 | rectory.&rest.formats)..."Advice | 
| 3e4e0 | 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 57 | .around.compilation-find-file..W | 
| 3e500 | 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 61 | e.enhance.its.functionality.by.a | 
| 3e520 | 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 64 | ppending.the.current.project's.d | 
| 3e540 | 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 20 | irectories.to.its.search.path... | 
| 3e560 | 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 | 
| 3e580 | 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 | 
| 3e5a0 | 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 | 
| 3e5c0 | 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 | 
| 3e5e0 | 65 63 74 6f 72 69 65 73 2e 22 0a 20 20 3b 20 49    66 20 74 68 65 20 66 69 6c 65 20 61 6c 72 65 61 | ectories."...;.If.the.file.alrea | 
| 3e600 | 64 79 20 65 78 69 73 74 73 2c 20 64 6f 6e 27 74    20 62 6f 74 68 65 72 20 72 75 6e 6e 69 6e 67 20 | dy.exists,.don't.bother.running. | 
| 3e620 | 74 68 65 20 65 78 74 72 61 20 6c 6f 67 69 63 20    61 73 20 74 68 65 20 70 72 6f 6a 65 63 74 20 64 | the.extra.logic.as.the.project.d | 
| 3e640 | 69 72 65 63 74 6f 72 69 65 73 20 6d 69 67 68 74    20 62 65 20 6d 61 73 73 69 76 65 20 28 69 2e 65 | irectories.might.be.massive.(i.e | 
| 3e660 | 2e 20 55 6e 72 65 61 6c 2d 73 69 7a 65 64 29 2e    0a 20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 | ..Unreal-sized)....(if.(file-exi | 
| 3e680 | 73 74 73 2d 70 20 66 69 6c 65 6e 61 6d 65 29 0a    20 20 20 20 20 20 28 61 70 70 6c 79 20 6f 72 69 | sts-p.filename).......(apply.ori | 
| 3e6a0 | 67 2d 66 75 6e 20 60 28 2c 6d 61 72 6b 65 72 20    2c 66 69 6c 65 6e 61 6d 65 20 2c 64 69 72 65 63 | g-fun.`(,marker.,filename.,direc | 
| 3e6c0 | 74 6f 72 79 20 2c 40 66 6f 72 6d 61 74 73 29 29    0a 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 72 6f | tory.,@formats))......(let*.((ro | 
| 3e6e0 | 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 20 20 | ot.(projectile-project-root))... | 
| 3e700 | 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 69 6c    61 74 69 6f 6e 2d 73 65 61 72 63 68 2d 70 61 74 | .........(compilation-search-pat | 
| 3e720 | 68 0a 20 20 20 20 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 | h.............(if.(projectile-pr | 
| 3e740 | 6f 6a 65 63 74 2d 70 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 | oject-p).................(append | 
| 3e760 | 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 73 65 61    72 63 68 2d 70 61 74 68 20 28 6c 69 73 74 20 72 | .compilation-search-path.(list.r | 
| 3e780 | 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 20 20 20 28 6d 61 | oot).........................(ma | 
| 3e7a0 | 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 29    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 | pcar.(lambda.(f).(expand-file-na | 
| 3e7c0 | 6d 65 20 66 20 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 | me.f.root))..................... | 
| 3e7e0 | 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 6e 74 2d | ............(projectile-current- | 
| 3e800 | 70 72 6f 6a 65 63 74 2d 64 69 72 73 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f | project-dirs)))...............co | 
| 3e820 | 6d 70 69 6c 61 74 69 6f 6e 2d 73 65 61 72 63 68    2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 28 | mpilation-search-path))).......( | 
| 3e840 | 61 70 70 6c 79 20 6f 72 69 67 2d 66 75 6e 20 60    28 2c 6d 61 72 6b 65 72 20 2c 66 69 6c 65 6e 61 | apply.orig-fun.`(,marker.,filena | 
| 3e860 | 6d 65 20 2c 64 69 72 65 63 74 6f 72 79 20 2c 40    66 6f 72 6d 61 74 73 29 29 29 29 29 0a 0a 28 64 | me.,directory.,@formats)))))..(d | 
| 3e880 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    6f 70 65 6e 2d 70 72 6f 6a 65 63 74 73 20 28 29 | efun.projectile-open-projects.() | 
| 3e8a0 | 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73    74 20 6f 66 20 61 6c 6c 20 6f 70 65 6e 20 70 72 | ..."Return.a.list.of.all.open.pr | 
| 3e8c0 | 6f 6a 65 63 74 73 2e 0a 41 6e 20 6f 70 65 6e 20    70 72 6f 6a 65 63 74 20 69 73 20 61 20 70 72 6f | ojects..An.open.project.is.a.pro | 
| 3e8e0 | 6a 65 63 74 20 77 69 74 68 20 61 6e 79 20 6f 70    65 6e 20 62 75 66 66 65 72 73 2e 22 0a 20 20 28 | ject.with.any.open.buffers."...( | 
| 3e900 | 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 20 | delete-dups....(delq.nil........ | 
| 3e920 | 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64    61 20 28 62 75 66 66 65 72 29 0a 20 20 20 20 20 | ..(mapcar.(lambda.(buffer)...... | 
| 3e940 | 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 62 75 66 66 | ..............(with-current-buff | 
| 3e960 | 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | er.buffer......................( | 
| 3e980 | 77 68 65 6e 2d 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 | when-let*.((project-root.(projec | 
| 3e9a0 | 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 20 20 20 20 20 | tile-project-root)))............ | 
| 3e9c0 | 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 74 69 6c 65 2d 70 72 | ............(when.(projectile-pr | 
| 3e9e0 | 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 72 6f | oject-buffer-p.buffer.project-ro | 
| 3ea00 | 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 20 20 20 20 28 61 62 | ot)..........................(ab | 
| 3ea20 | 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 2d 72 6f 6f 74 29 | breviate-file-name.project-root) | 
| 3ea40 | 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 66 66 65 72 2d 6c 69 | ))))..................(buffer-li | 
| 3ea60 | 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 2d 72 65 6d 6f | st)))))..(defun.projectile--remo | 
| 3ea80 | 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 63 74 73 29 0a 20 20 | ve-current-project.(projects)... | 
| 3eaa0 | 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 63 74 20 28 69 66 20 | "Remove.the.current.project.(if. | 
| 3eac0 | 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 4a 45 43 54 53 2e 22 | any).from.the.list.of.PROJECTS." | 
| 3eae0 | 0a 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 70 72    6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 6c | ...(if-let*.((project.(projectil | 
| 3eb00 | 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 72 6f 6a 65 63 74 | e-project-root))).......(project | 
| 3eb20 | 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 20 20 20 20 20 20 | ile-difference.projects......... | 
| 3eb40 | 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 28 61 62 62 72 | .....................(list.(abbr | 
| 3eb60 | 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 29 0a 20 20 20 20 | eviate-file-name.project)))..... | 
| 3eb80 | 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 69 6c 65 2d 2d 6d | projects))..(defun.projectile--m | 
| 3eba0 | 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 20 28 70 72 6f 6a | ove-current-project-to-end.(proj | 
| 3ebc0 | 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 65 63 74 20 28 69 | ects)..."Move.current.project.(i | 
| 3ebe0 | 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 69 6e 20 74 68 65 | f.any).to.the.end.of.list.in.the | 
| 3ec00 | 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 6c 65 74 2a 20 28 | .list.of.PROJECTS."...(if-let*.( | 
| 3ec20 | 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 74 2d 72 6f 6f | (project.(projectile-project-roo | 
| 3ec40 | 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 70 72 6f 6a 65 | t))).......(append........(proje | 
| 3ec60 | 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 70 72 | ctile--remove-current-project.pr | 
| 3ec80 | 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 76 69 61 74 65 | ojects)........(list.(abbreviate | 
| 3eca0 | 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 72 6f 6a 65 63 | -file-name.project))).....projec | 
| 3ecc0 | 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 | ts))..(defun.projectile-known-pr | 
| 3ece0 | 6f 6a 65 63 74 73 20 28 29 0a 20 20 22 49 6e 69    74 69 61 6c 69 7a 65 20 74 68 65 20 6b 6e 6f 77 | ojects.()..."Initialize.the.know | 
| 3ed00 | 6e 20 70 72 6f 6a 65 63 74 73 2e 0a 0a 54 68 69    73 20 6d 69 67 68 74 20 70 6f 74 65 6e 74 69 61 | n.projects...This.might.potentia | 
| 3ed20 | 6c 6c 79 20 63 6c 65 61 6e 20 75 70 20 72 65 64    75 6e 64 61 6e 74 20 70 72 6f 6a 65 63 74 73 20 | lly.clean.up.redundant.projects. | 
| 3ed40 | 61 6e 64 20 64 69 73 63 6f 76 65 72 20 6e 65 77    20 6f 6e 65 73 20 69 66 0a 60 70 72 6f 6a 65 63 | and.discover.new.ones.if.`projec | 
| 3ed60 | 74 69 6c 65 2d 61 75 74 6f 2d 63 6c 65 61 6e 75    70 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 | tile-auto-cleanup-known-projects | 
| 3ed80 | 27 20 6f 72 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 27 20 | '.or.`projectile-auto-discover'. | 
| 3eda0 | 61 72 65 0a 65 6e 61 62 6c 65 64 2e 22 0a 20 20    3b 3b 20 6c 6f 61 64 20 74 68 65 20 6b 6e 6f 77 | are.enabled."...;;.load.the.know | 
| 3edc0 | 6e 20 70 72 6f 6a 65 63 74 73 0a 20 20 28 75 6e    6c 65 73 73 20 70 72 6f 6a 65 63 74 69 6c 65 2d | n.projects...(unless.projectile- | 
| 3ede0 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 0a 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6c | known-projects.....(projectile-l | 
| 3ee00 | 6f 61 64 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 73 29 29 0a 20 20 28 77 68 65 6e 20 70 72 6f | oad-known-projects))...(when.pro | 
| 3ee20 | 6a 65 63 74 69 6c 65 2d 61 75 74 6f 2d 63 6c 65    61 6e 75 70 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 | jectile-auto-cleanup-known-proje | 
| 3ee40 | 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 6e 6f | cts.....(projectile--cleanup-kno | 
| 3ee60 | 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29 0a 20 20    28 77 68 65 6e 20 28 61 6e 64 20 70 72 6f 6a 65 | wn-projects))...(when.(and.proje | 
| 3ee80 | 63 74 69 6c 65 2d 61 75 74 6f 2d 64 69 73 63 6f    76 65 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | ctile-auto-discover.projectile-p | 
| 3eea0 | 72 6f 6a 65 63 74 2d 73 65 61 72 63 68 2d 70 61    74 68 29 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 | roject-search-path).....(project | 
| 3eec0 | 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- | 
| 3eee0 | 70 61 74 68 29 29 0a 20 20 3b 3b 20 72 65 74 75    72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 6b | path))...;;.return.the.list.of.k | 
| 3ef00 | 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 0a 20 20    70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e | nown.projects...projectile-known | 
| 3ef20 | 2d 70 72 6f 6a 65 63 74 73 29 0a 0a 28 64 65 66    61 6c 69 61 73 20 27 70 72 6f 6a 65 63 74 69 6c | -projects)..(defalias.'projectil | 
| 3ef40 | 65 2d 2d 69 6e 69 74 2d 6b 6e 6f 77 6e 2d 70 72    6f 6a 65 63 74 73 20 27 70 72 6f 6a 65 63 74 69 | e--init-known-projects.'projecti | 
| 3ef60 | 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74    73 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | le-known-projects)..(defun.proje | 
| 3ef80 | 63 74 69 6c 65 2d 72 65 6c 65 76 61 6e 74 2d 6b    6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20 28 29 | ctile-relevant-known-projects.() | 
| 3efa0 | 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73    74 20 6f 66 20 6b 6e 6f 77 6e 20 70 72 6f 6a 65 | ..."Return.a.list.of.known.proje | 
| 3efc0 | 63 74 73 2e 0a 0a 49 74 20 66 61 63 74 6f 72 73    20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 70 | cts...It.factors.the.value.of.`p | 
| 3efe0 | 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 6f 6e 2d 73 77 69 | rojectile-current-project-on-swi | 
| 3f000 | 74 63 68 27 2e 22 0a 20 20 28 6c 65 74 20 28 28    6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20 28 | tch'."...(let.((known-projects.( | 
| 3f020 | 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 29 0a 20 20 20 | projectile-known-projects))).... | 
| 3f040 | 20 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 | .(pcase.projectile-current-proje | 
| 3f060 | 63 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 | ct-on-switch.......('remove.(pro | 
| 3f080 | 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 63 74 20 | jectile--remove-current-project. | 
| 3f0a0 | 6b 6e 6f 77 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 | known-projects)).......('move-to | 
| 3f0c0 | 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 65 6e 74 2d 70 | -end.(projectile--move-current-p | 
| 3f0e0 | 72 6f 6a 65 63 74 2d 74 6f 2d 65 6e 64 20 6b 6e    6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29 0a 20 | roject-to-end.known-projects)).. | 
| 3f100 | 20 20 20 20 20 28 27 6b 65 65 70 20 6b 6e 6f 77    6e 2d 70 72 6f 6a 65 63 74 73 29 29 29 29 0a 0a | .....('keep.known-projects)))).. | 
| 3f120 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 72 65 6c 65 76 61 6e 74 2d 6f 70 65 6e 2d | (defun.projectile-relevant-open- | 
| 3f140 | 70 72 6f 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 | projects.()..."Return.a.list.of. | 
| 3f160 | 6f 70 65 6e 20 70 72 6f 6a 65 63 74 73 2e 22 0a    20 20 28 6c 65 74 20 28 28 6f 70 65 6e 2d 70 72 | open.projects."...(let.((open-pr | 
| 3f180 | 6f 6a 65 63 74 73 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 6f 70 65 6e 2d 70 72 6f 6a 65 63 74 73 | ojects.(projectile-open-projects | 
| 3f1a0 | 29 29 29 0a 20 20 20 20 28 70 63 61 73 65 20 70    72 6f 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 6e | ))).....(pcase.projectile-curren | 
| 3f1c0 | 74 2d 70 72 6f 6a 65 63 74 2d 6f 6e 2d 73 77 69    74 63 68 0a 20 20 20 20 20 20 28 27 72 65 6d 6f | t-project-on-switch.......('remo | 
| 3f1e0 | 76 65 20 28 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 | ve.(projectile--remove-current-p | 
| 3f200 | 72 6f 6a 65 63 74 20 6f 70 65 6e 2d 70 72 6f 6a    65 63 74 73 29 29 0a 20 20 20 20 20 20 28 27 6d | roject.open-projects)).......('m | 
| 3f220 | 6f 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 | ove-to-end.(projectile--move-cur | 
| 3f240 | 72 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 74 6f 2d    65 6e 64 20 6f 70 65 6e 2d 70 72 6f 6a 65 63 74 | rent-project-to-end.open-project | 
| 3f260 | 73 29 29 0a 20 20 20 20 20 20 28 27 6b 65 65 70    20 6f 70 65 6e 2d 70 72 6f 6a 65 63 74 73 29 29 | s)).......('keep.open-projects)) | 
| 3f280 | 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 | 
| 3f2a0 | 74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a    65 63 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 | tile-switch-project.(&optional.a | 
| 3f2c0 | 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 65 20 68 61 | rg)..."Switch.to.a.project.we.ha | 
| 3f2e0 | 76 65 20 76 69 73 69 74 65 64 20 62 65 66 6f 72    65 2e 0a 49 6e 76 6f 6b 65 73 20 74 68 65 20 63 | ve.visited.before..Invokes.the.c | 
| 3f300 | 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 74 69 6c 65 | ommand.referenced.by.`projectile | 
| 3f320 | 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 77 69 74 63 | -switch-project-action'.on.switc | 
| 3f340 | 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 20 60 70 72 | h..With.a.prefix.ARG.invokes.`pr | 
| 3f360 | 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 6f 66 0a 60 | ojectile-commander'.instead.of.` | 
| 3f380 | 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 | 
| 3f3a0 | 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 28 6c 65 74 20 28 | .'"...(interactive."P")...(let.( | 
| 3f3c0 | 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 76 61 6e 74 2d 6b | (projects.(projectile-relevant-k | 
| 3f3e0 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29 29    0a 20 20 20 20 28 69 66 20 70 72 6f 6a 65 63 74 | nown-projects))).....(if.project | 
| 3f400 | 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 65 74 69 6e 67 | s.........(projectile-completing | 
| 3f420 | 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 70 72 6f 6a 65 63 | -read.........."Switch.to.projec | 
| 3f440 | 74 3a 20 22 20 70 72 6f 6a 65 63 74 73 0a 20 20    20 20 20 20 20 20 20 3a 61 63 74 69 6f 6e 20 28 | t:.".projects..........:action.( | 
| 3f460 | 6c 61 6d 62 64 61 20 28 70 72 6f 6a 65 63 74 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lambda.(project)................ | 
| 3f480 | 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 63 74 2d 62 | ....(projectile-switch-project-b | 
| 3f4a0 | 79 2d 6e 61 6d 65 20 70 72 6f 6a 65 63 74 20 61    72 67 29 29 29 0a 20 20 20 20 20 20 28 75 73 65 | y-name.project.arg))).......(use | 
| 3f4c0 | 72 2d 65 72 72 6f 72 20 22 54 68 65 72 65 20 61    72 65 20 6e 6f 20 6b 6e 6f 77 6e 20 70 72 6f 6a | r-error."There.are.no.known.proj | 
| 3f4e0 | 65 63 74 73 22 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 6e | ects"))))..;;;###autoload.(defun | 
| 3f500 | 20 70 72 6f 6a 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 20 | .projectile-switch-open-project. | 
| 3f520 | 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 29 0a    20 20 22 53 77 69 74 63 68 20 74 6f 20 61 20 70 | (&optional.arg)..."Switch.to.a.p | 
| 3f540 | 72 6f 6a 65 63 74 20 77 65 20 68 61 76 65 20 63    75 72 72 65 6e 74 6c 79 20 6f 70 65 6e 65 64 2e | roject.we.have.currently.opened. | 
| 3f560 | 0a 49 6e 76 6f 6b 65 73 20 74 68 65 20 63 6f 6d    6d 61 6e 64 20 72 65 66 65 72 65 6e 63 65 64 20 | .Invokes.the.command.referenced. | 
| 3f580 | 62 79 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 2d 61 63 | by.`projectile-switch-project-ac | 
| 3f5a0 | 74 69 6f 6e 27 20 6f 6e 20 73 77 69 74 63 68 2e    0a 57 69 74 68 20 61 20 70 72 65 66 69 78 20 41 | tion'.on.switch..With.a.prefix.A | 
| 3f5c0 | 52 47 20 69 6e 76 6f 6b 65 73 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 | RG.invokes.`projectile-commander | 
| 3f5e0 | 27 20 69 6e 73 74 65 61 64 20 6f 66 0a 60 70 72    6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d | '.instead.of.`projectile-switch- | 
| 3f600 | 70 72 6f 6a 65 63 74 2d 61 63 74 69 6f 6e 2e 27    22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 | project-action.'"...(interactive | 
| 3f620 | 20 22 50 22 29 0a 20 20 28 6c 65 74 20 28 28 70    72 6f 6a 65 63 74 73 20 28 70 72 6f 6a 65 63 74 | ."P")...(let.((projects.(project | 
| 3f640 | 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 29 29 29 0a 20 20 | ile-relevant-open-projects)))... | 
| 3f660 | 20 20 28 69 66 20 70 72 6f 6a 65 63 74 73 0a 20    20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | ..(if.projects.........(projecti | 
| 3f680 | 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 20 20 22 53 77 69 | le-completing-read.........."Swi | 
| 3f6a0 | 74 63 68 20 74 6f 20 6f 70 65 6e 20 70 72 6f 6a    65 63 74 3a 20 22 20 70 72 6f 6a 65 63 74 73 0a | tch.to.open.project:.".projects. | 
| 3f6c0 | 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 70 72 6f 6a 65 63 | .........:action.(lambda.(projec | 
| 3f6e0 | 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 6a 65 63 74 69 6c | t)....................(projectil | 
| 3f700 | 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 72 6f 6a 65 63 74 | e-switch-project-by-name.project | 
| 3f720 | 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 22 54 68 65 72 65 | .arg))).......(user-error."There | 
| 3f740 | 20 61 72 65 20 6e 6f 20 6f 70 65 6e 20 70 72 6f    6a 65 63 74 73 22 29 29 29 29 0a 0a 28 64 65 66 | .are.no.open.projects"))))..(def | 
| 3f760 | 75 6e 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 2d 62 79 2d | un.projectile-switch-project-by- | 
| 3f780 | 6e 61 6d 65 20 28 70 72 6f 6a 65 63 74 2d 74 6f    2d 73 77 69 74 63 68 20 26 6f 70 74 69 6f 6e 61 | name.(project-to-switch.&optiona | 
| 3f7a0 | 6c 20 61 72 67 29 0a 20 20 22 53 77 69 74 63 68    20 74 6f 20 70 72 6f 6a 65 63 74 20 62 79 20 70 | l.arg)..."Switch.to.project.by.p | 
| 3f7c0 | 72 6f 6a 65 63 74 20 6e 61 6d 65 20 50 52 4f 4a    45 43 54 2d 54 4f 2d 53 57 49 54 43 48 2e 0a 49 | roject.name.PROJECT-TO-SWITCH..I | 
| 3f7e0 | 6e 76 6f 6b 65 73 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 | nvokes.the.command.referenced.by | 
| 3f800 | 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 2d 61 63 74 69 | .`projectile-switch-project-acti | 
| 3f820 | 6f 6e 27 20 6f 6e 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 | on'.on.switch..With.a.prefix.ARG | 
| 3f840 | 20 69 6e 76 6f 6b 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 | .invokes.`projectile-commander'. | 
| 3f860 | 69 6e 73 74 65 61 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 | instead.of.`projectile-switch-pr | 
| 3f880 | 6f 6a 65 63 74 2d 61 63 74 69 6f 6e 2e 27 22 0a    20 20 3b 3b 20 6c 65 74 27 73 20 6d 61 6b 65 20 | oject-action.'"...;;.let's.make. | 
| 3f8a0 | 73 75 72 65 20 74 68 61 74 20 74 68 65 20 74 61    72 67 65 74 20 64 69 72 65 63 74 6f 72 79 20 65 | sure.that.the.target.directory.e | 
| 3f8c0 | 78 69 73 74 73 20 61 6e 64 20 69 73 20 61 63 74    75 61 6c 6c 79 20 61 20 70 72 6f 6a 65 63 74 0a | xists.and.is.actually.a.project. | 
| 3f8e0 | 20 20 3b 3b 20 77 65 20 69 67 6e 6f 72 65 20 72    65 6d 6f 74 65 20 66 6f 6c 64 65 72 73 2c 20 61 | ..;;.we.ignore.remote.folders,.a | 
| 3f900 | 73 20 74 68 65 20 63 68 65 63 6b 20 62 72 65 61    6b 73 20 66 6f 72 20 54 52 41 4d 50 20 75 6e 6c | s.the.check.breaks.for.TRAMP.unl | 
| 3f920 | 65 73 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 6e    65 63 74 65 64 0a 20 20 28 75 6e 6c 65 73 73 20 | ess.already.connected...(unless. | 
| 3f940 | 28 6f 72 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65    2d 70 20 70 72 6f 6a 65 63 74 2d 74 6f 2d 73 77 | (or.(file-remote-p.project-to-sw | 
| 3f960 | 69 74 63 68 29 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 70 20 70 72 6f 6a | itch).(projectile-project-p.proj | 
| 3f980 | 65 63 74 2d 74 6f 2d 73 77 69 74 63 68 29 29 0a    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ect-to-switch)).....(projectile- | 
| 3f9a0 | 72 65 6d 6f 76 65 2d 6b 6e 6f 77 6e 2d 70 72 6f    6a 65 63 74 20 70 72 6f 6a 65 63 74 2d 74 6f 2d | remove-known-project.project-to- | 
| 3f9c0 | 73 77 69 74 63 68 29 0a 20 20 20 20 28 65 72 72    6f 72 20 22 44 69 72 65 63 74 6f 72 79 20 25 73 | switch).....(error."Directory.%s | 
| 3f9e0 | 20 69 73 20 6e 6f 74 20 61 20 70 72 6f 6a 65 63    74 22 20 70 72 6f 6a 65 63 74 2d 74 6f 2d 73 77 | .is.not.a.project".project-to-sw | 
| 3fa00 | 69 74 63 68 29 29 0a 20 20 28 6c 65 74 20 28 28    73 77 69 74 63 68 2d 70 72 6f 6a 65 63 74 2d 61 | itch))...(let.((switch-project-a | 
| 3fa20 | 63 74 69 6f 6e 20 28 69 66 20 61 72 67 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ction.(if.arg................... | 
| 3fa40 | 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 69 6c 65 2d 63 6f 6d | .................'projectile-com | 
| 3fa60 | 6d 61 6e 64 65 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 | mander.......................... | 
| 3fa80 | 20 20 20 20 20 20 20 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 | ........projectile-switch-projec | 
| 3faa0 | 74 2d 61 63 74 69 6f 6e 29 29 29 0a 20 20 20 20    28 72 75 6e 2d 68 6f 6f 6b 73 20 27 70 72 6f 6a | t-action))).....(run-hooks.'proj | 
| 3fac0 | 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 63 74 2d 68 6f 6f | ectile-before-switch-project-hoo | 
| 3fae0 | 6b 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 64    65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 | k).....(let*.((default-directory | 
| 3fb00 | 20 70 72 6f 6a 65 63 74 2d 74 6f 2d 73 77 69 74    63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | .project-to-switch)............( | 
| 3fb20 | 73 77 69 74 63 68 65 64 2d 62 75 66 66 65 72 0a    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 | switched-buffer.............;;.u | 
| 3fb40 | 73 65 20 61 20 74 65 6d 70 6f 72 61 72 79 20 62    75 66 66 65 72 20 74 6f 20 6c 6f 61 64 20 50 52 | se.a.temporary.buffer.to.load.PR | 
| 3fb60 | 4f 4a 45 43 54 2d 54 4f 2d 53 57 49 54 43 48 27    73 20 64 69 72 2d 6c 6f 63 61 6c 73 0a 20 20 20 | OJECT-TO-SWITCH's.dir-locals.... | 
| 3fb80 | 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 66 6f    72 65 20 63 61 6c 6c 69 6e 67 20 53 57 49 54 43 | .........;;.before.calling.SWITC | 
| 3fba0 | 48 2d 50 52 4f 4a 45 43 54 2d 41 43 54 49 4f 4e    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 | H-PROJECT-ACTION.............(wi | 
| 3fbc0 | 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 | th-temp-buffer...............(ha | 
| 3fbe0 | 63 6b 2d 64 69 72 2d 6c 6f 63 61 6c 2d 76 61 72    69 61 62 6c 65 73 2d 6e 6f 6e 2d 66 69 6c 65 2d | ck-dir-local-variables-non-file- | 
| 3fc00 | 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 6c | buffer)...............;;.Normall | 
| 3fc20 | 79 20 74 68 65 20 70 72 6f 6a 65 63 74 20 6e 61    6d 65 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 | y.the.project.name.is.determined | 
| 3fc40 | 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e    74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .from.the.current............... | 
| 3fc60 | 3b 3b 20 62 75 66 66 65 72 2e 20 48 6f 77 65 76    65 72 2c 20 77 68 65 6e 20 77 65 27 72 65 20 73 | ;;.buffer..However,.when.we're.s | 
| 3fc80 | 77 69 74 63 68 69 6e 67 20 70 72 6f 6a 65 63 74    73 2c 20 77 65 20 77 61 6e 74 20 74 6f 0a 20 20 | witching.projects,.we.want.to... | 
| 3fca0 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73    68 6f 77 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 | ............;;.show.the.name.of. | 
| 3fcc0 | 74 68 65 20 70 72 6f 6a 65 63 74 20 62 65 69 6e    67 20 73 77 69 74 63 68 65 64 20 74 6f 2c 20 72 | the.project.being.switched.to,.r | 
| 3fce0 | 61 74 68 65 72 20 74 68 61 6e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 | ather.than...............;;.the. | 
| 3fd00 | 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2c    20 69 6e 20 74 68 65 20 6d 69 6e 69 62 75 66 66 | current.project,.in.the.minibuff | 
| 3fd20 | 65 72 2e 20 54 68 69 73 20 69 73 20 61 20 73 69    6d 70 6c 65 20 68 61 63 6b 0a 20 20 20 20 20 20 | er..This.is.a.simple.hack....... | 
| 3fd40 | 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 20 74 65    6c 6c 20 74 68 65 20 60 70 72 6f 6a 65 63 74 69 | ........;;.to.tell.the.`projecti | 
| 3fd60 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 27    20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 67 6e | le-project-name'.function.to.ign | 
| 3fd80 | 6f 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3b 3b 20 63 75 72 72 65 6e 74 | ore.the...............;;.current | 
| 3fda0 | 20 62 75 66 66 65 72 20 61 6e 64 20 74 68 65 20    63 61 63 68 69 6e 67 20 6d 65 63 68 61 6e 69 73 | .buffer.and.the.caching.mechanis | 
| 3fdc0 | 6d 2c 20 61 6e 64 20 6a 75 73 74 20 72 65 74 75    72 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 | m,.and.just.return.the.......... | 
| 3fde0 | 20 20 20 20 20 3b 3b 20 76 61 6c 75 65 20 6f 66    20 74 68 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 | .....;;.value.of.the.`projectile | 
| 3fe00 | 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 27 20 76    61 72 69 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 | -project-name'.variable......... | 
| 3fe20 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | .......(let.((projectile-project | 
| 3fe40 | 2d 6e 61 6d 65 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 65 63 | -name.(funcall.projectile-projec | 
| 3fe60 | 74 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-name-function................. | 
| 3fe80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3fea0 | 20 20 20 20 20 20 70 72 6f 6a 65 63 74 2d 74 6f    2d 73 77 69 74 63 68 29 29 29 0a 20 20 20 20 20 | ......project-to-switch)))...... | 
| 3fec0 | 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63    61 6c 6c 20 73 77 69 74 63 68 2d 70 72 6f 6a 65 | ...........(funcall.switch-proje | 
| 3fee0 | 63 74 2d 61 63 74 69 6f 6e 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 | ct-action).................(curr | 
| 3ff00 | 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a    20 20 20 20 20 20 3b 3b 20 49 66 20 73 77 69 74 | ent-buffer))))).......;;.If.swit | 
| 3ff20 | 63 68 2d 70 72 6f 6a 65 63 74 2d 61 63 74 69 6f    6e 20 73 77 69 74 63 68 65 64 20 62 75 66 66 65 | ch-project-action.switched.buffe | 
| 3ff40 | 72 73 20 74 68 65 6e 20 77 69 74 68 2d 74 65 6d    70 2d 62 75 66 66 65 72 20 77 69 6c 6c 0a 20 20 | rs.then.with-temp-buffer.will... | 
| 3ff60 | 20 20 20 20 3b 3b 20 68 61 76 65 20 6c 6f 73 74    20 74 68 61 74 20 63 68 61 6e 67 65 2c 20 73 6f | ....;;.have.lost.that.change,.so | 
| 3ff80 | 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20    74 68 65 20 63 6f 72 72 65 63 74 20 62 75 66 66 | .switch.back.to.the.correct.buff | 
| 3ffa0 | 65 72 2e 0a 20 20 20 20 20 20 28 77 68 65 6e 20    28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 73 | er........(when.(buffer-live-p.s | 
| 3ffc0 | 77 69 74 63 68 65 64 2d 62 75 66 66 65 72 29 0a    20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d | witched-buffer).........(switch- | 
| 3ffe0 | 74 6f 2d 62 75 66 66 65 72 20 73 77 69 74 63 68    65 64 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 | to-buffer.switched-buffer))).... | 
| 40000 | 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 70 72 6f    6a 65 63 74 69 6c 65 2d 61 66 74 65 72 2d 73 77 | .(run-hooks.'projectile-after-sw | 
| 40020 | 69 74 63 68 2d 70 72 6f 6a 65 63 74 2d 68 6f 6f    6b 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f | itch-project-hook)))..;;;###auto | 
| 40040 | 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 66 69 6c 65 | load.(defun.projectile-find-file | 
| 40060 | 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79 20 28 26    6f 70 74 69 6f 6e 61 6c 20 64 69 72 65 63 74 6f | -in-directory.(&optional.directo | 
| 40080 | 72 79 29 0a 20 20 22 4a 75 6d 70 20 74 6f 20 61    20 66 69 6c 65 20 69 6e 20 61 20 28 6d 61 79 62 | ry)..."Jump.to.a.file.in.a.(mayb | 
| 400a0 | 65 20 72 65 67 75 6c 61 72 29 20 44 49 52 45 43    54 4f 52 59 2e 0a 0a 54 68 69 73 20 63 6f 6d 6d | e.regular).DIRECTORY...This.comm | 
| 400c0 | 61 6e 64 20 77 69 6c 6c 20 66 69 72 73 74 20 70    72 6f 6d 70 74 20 66 6f 72 20 74 68 65 20 64 69 | and.will.first.prompt.for.the.di | 
| 400e0 | 72 65 63 74 6f 72 79 20 74 68 65 20 66 69 6c 65    20 69 73 20 69 6e 2e 22 0a 20 20 28 69 6e 74 65 | rectory.the.file.is.in."...(inte | 
| 40100 | 72 61 63 74 69 76 65 20 22 44 46 69 6e 64 20 66    69 6c 65 20 69 6e 20 64 69 72 65 63 74 6f 72 79 | ractive."DFind.file.in.directory | 
| 40120 | 3a 20 22 29 0a 20 20 28 75 6e 6c 65 73 73 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 64 69 72 65 | :.")...(unless.(projectile--dire | 
| 40140 | 63 74 6f 72 79 2d 70 20 64 69 72 65 63 74 6f 72    79 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 | ctory-p.directory).....(user-err | 
| 40160 | 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" | 
| 40180 | 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 28    6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 | .directory))...(let.((default-di | 
| 401a0 | 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 69 66 20 28 70 72 6f | rectory.directory)).....(if.(pro | 
| 401c0 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    70 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 74 61 | jectile-project-p).........;;.ta | 
| 401e0 | 72 67 65 74 20 64 69 72 65 63 74 6f 72 79 20 69    73 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 0a 20 | rget.directory.is.in.a.project.. | 
| 40200 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69    6c 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | .......(let.((file.(projectile-c | 
| 40220 | 6f 6d 70 6c 65 74 69 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 | ompleting-read."Find.file:.".... | 
| 40240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 40260 | 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 2d 66 69 6c | .............(projectile-dir-fil | 
| 40280 | 65 73 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 28 66 69 6e 64 | es.directory))))...........(find | 
| 402a0 | 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 64 69 72 | -file.(expand-file-name.file.dir | 
| 402c0 | 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 70 | ectory))...........(run-hooks.'p | 
| 402e0 | 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66    69 6c 65 2d 68 6f 6f 6b 29 29 0a 20 20 20 20 20 | rojectile-find-file-hook))...... | 
| 40300 | 20 3b 3b 20 74 61 72 67 65 74 20 64 69 72 65 63    74 6f 72 79 20 69 73 20 6e 6f 74 20 69 6e 20 61 | .;;.target.directory.is.not.in.a | 
| 40320 | 20 70 72 6f 6a 65 63 74 0a 20 20 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d | .project.......(projectile-find- | 
| 40340 | 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 61 6c 6c 2d | file))))..(defun.projectile-all- | 
| 40360 | 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 20 28 29    0a 20 20 22 47 65 74 20 61 20 6c 69 73 74 20 6f | project-files.()..."Get.a.list.o | 
| 40380 | 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e 20 61    6c 6c 20 70 72 6f 6a 65 63 74 73 2e 22 0a 20 20 | f.all.files.in.all.projects."... | 
| 403a0 | 28 63 6c 2d 6d 61 70 63 61 6e 0a 20 20 20 28 6c    61 6d 62 64 61 20 28 70 72 6f 6a 65 63 74 29 0a | (cl-mapcan....(lambda.(project). | 
| 403c0 | 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 70 72 6f 6a 65 63 | .....(when.(file-exists-p.projec | 
| 403e0 | 74 29 0a 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 6c 65 29 | t)........(mapcar.(lambda.(file) | 
| 40400 | 0a 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 6e | ..................(expand-file-n | 
| 40420 | 61 6d 65 20 66 69 6c 65 20 70 72 6f 6a 65 63 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ame.file.project)).............. | 
| 40440 | 20 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 | ..(projectile-project-files.proj | 
| 40460 | 65 63 74 29 29 29 29 0a 20 20 20 70 72 6f 6a 65    63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a | ect))))....projectile-known-proj | 
| 40480 | 65 63 74 73 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 | ects))..;;;###autoload.(defun.pr | 
| 404a0 | 6f 6a 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 | ojectile-find-file-in-known-proj | 
| 404c0 | 65 63 74 73 20 28 29 0a 20 20 22 4a 75 6d 70 20    74 6f 20 61 20 66 69 6c 65 20 69 6e 20 61 6e 79 | ects.()..."Jump.to.a.file.in.any | 
| 404e0 | 20 6f 66 20 74 68 65 20 6b 6e 6f 77 6e 20 70 72    6f 6a 65 63 74 73 2e 22 0a 20 20 28 69 6e 74 65 | .of.the.known.projects."...(inte | 
| 40500 | 72 61 63 74 69 76 65 29 0a 20 20 28 66 69 6e 64    2d 66 69 6c 65 20 28 70 72 6f 6a 65 63 74 69 6c | ractive)...(find-file.(projectil | 
| 40520 | 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61    64 20 22 46 69 6e 64 20 66 69 6c 65 20 69 6e 20 | e-completing-read."Find.file.in. | 
| 40540 | 70 72 6f 6a 65 63 74 73 3a 20 22 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 61 6c 6c 2d 70 72 6f 6a | projects:.".(projectile-all-proj | 
| 40560 | 65 63 74 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 | ect-files))))..(defun.projectile | 
| 40580 | 2d 6b 65 65 70 2d 70 72 6f 6a 65 63 74 2d 70 20    28 70 72 6f 6a 65 63 74 29 0a 20 20 22 44 65 74 | -keep-project-p.(project)..."Det | 
| 405a0 | 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 77    65 20 73 68 6f 75 6c 64 20 63 6c 65 61 6e 75 70 | ermine.whether.we.should.cleanup | 
| 405c0 | 20 28 72 65 6d 6f 76 65 29 20 50 52 4f 4a 45 43    54 20 6f 72 20 6e 6f 74 2e 0a 0a 49 74 20 68 61 | .(remove).PROJECT.or.not...It.ha | 
| 405e0 | 6e 64 6c 65 73 20 74 68 65 20 63 61 73 65 20 6f    66 20 72 65 6d 6f 74 65 20 70 72 6f 6a 65 63 74 | ndles.the.case.of.remote.project | 
| 40600 | 73 20 61 73 20 77 65 6c 6c 2e 0a 53 65 65 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6c 65 61 | s.as.well..See.`projectile--clea | 
| 40620 | 6e 75 70 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 73 27 2e 22 0a 20 20 3b 3b 20 54 61 6b 65 6e | nup-known-projects'."...;;.Taken | 
| 40640 | 20 66 72 6f 6d 20 66 72 6f 6d 20 60 72 65 63 65    6e 74 66 2d 6b 65 65 70 2d 64 65 66 61 75 6c 74 | .from.from.`recentf-keep-default | 
| 40660 | 2d 70 72 65 64 69 63 61 74 65 27 0a 20 20 28 63    6f 6e 64 0a 20 20 20 28 28 66 69 6c 65 2d 72 65 | -predicate'...(cond....((file-re | 
| 40680 | 6d 6f 74 65 2d 70 20 70 72 6f 6a 65 63 74 20 6e    69 6c 20 74 29 20 28 66 69 6c 65 2d 72 65 61 64 | mote-p.project.nil.t).(file-read | 
| 406a0 | 61 62 6c 65 2d 70 20 70 72 6f 6a 65 63 74 29 29    0a 20 20 20 28 28 66 69 6c 65 2d 72 65 6d 6f 74 | able-p.project))....((file-remot | 
| 406c0 | 65 2d 70 20 70 72 6f 6a 65 63 74 29 29 0a 20 20    20 28 28 66 69 6c 65 2d 72 65 61 64 61 62 6c 65 | e-p.project))....((file-readable | 
| 406e0 | 2d 70 20 70 72 6f 6a 65 63 74 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | -p.project))))..(defun.projectil | 
| 40700 | 65 2d 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 22 | e--cleanup-known-projects.()..." | 
| 40720 | 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 74 | Remove.known.projects.that.don't | 
| 40740 | 20 65 78 69 73 74 20 61 6e 79 6d 6f 72 65 2e 0a    52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 | .exist.anymore..Return.a.list.of | 
| 40760 | 20 70 72 6f 6a 65 63 74 73 20 72 65 6d 6f 76 65    64 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c | .projects.removed."...(projectil | 
| 40780 | 65 2d 6d 65 72 67 65 2d 6b 6e 6f 77 6e 2d 70 72    6f 6a 65 63 74 73 29 0a 20 20 28 6c 65 74 20 28 | e-merge-known-projects)...(let.( | 
| 407a0 | 28 70 72 6f 6a 65 63 74 73 2d 6b 65 70 74 20 28    63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 | (projects-kept.(cl-remove-if-not | 
| 407c0 | 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 65    65 70 2d 70 72 6f 6a 65 63 74 2d 70 20 70 72 6f | .#'projectile-keep-project-p.pro | 
| 407e0 | 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 20 20 20 20 20 20 20 | jectile-known-projects))........ | 
| 40800 | 20 28 70 72 6f 6a 65 63 74 73 2d 72 65 6d 6f 76    65 64 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 | .(projects-removed.(cl-remove-if | 
| 40820 | 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 65    65 70 2d 70 72 6f 6a 65 63 74 2d 70 20 70 72 6f | .#'projectile-keep-project-p.pro | 
| 40840 | 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72    6f 6a 65 63 74 73 29 29 29 0a 20 20 20 20 28 73 | jectile-known-projects))).....(s | 
| 40860 | 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 20 70 72 | etq.projectile-known-projects.pr | 
| 40880 | 6f 6a 65 63 74 73 2d 6b 65 70 74 29 0a 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 65 72 | ojects-kept).....(projectile-mer | 
| 408a0 | 67 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74    73 29 0a 20 20 20 20 70 72 6f 6a 65 63 74 73 2d | ge-known-projects).....projects- | 
| 408c0 | 72 65 6d 6f 76 65 64 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 | removed))..;;;###autoload.(defun | 
| 408e0 | 20 70 72 6f 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 | .projectile-cleanup-known-projec | 
| 40900 | 74 73 20 28 29 0a 20 20 22 52 65 6d 6f 76 65 20    6b 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 20 74 | ts.()..."Remove.known.projects.t | 
| 40920 | 68 61 74 20 64 6f 6e 27 74 20 65 78 69 73 74 20    61 6e 79 6d 6f 72 65 2e 22 0a 20 20 28 69 6e 74 | hat.don't.exist.anymore."...(int | 
| 40940 | 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 2d    6c 65 74 2a 20 28 28 70 72 6f 6a 65 63 74 73 2d | eractive)...(if-let*.((projects- | 
| 40960 | 72 65 6d 6f 76 65 64 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 2d 63 6c 65 61 6e 75 70 2d 6b 6e 6f | removed.(projectile--cleanup-kno | 
| 40980 | 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29 29 0a 20    20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 50 | wn-projects))).......(message."P | 
| 409a0 | 72 6f 6a 65 63 74 73 20 72 65 6d 6f 76 65 64 3a    20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 | rojects.removed:.%s"............ | 
| 409c0 | 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23    27 69 64 65 6e 74 69 74 79 20 70 72 6f 6a 65 63 | ....(mapconcat.#'identity.projec | 
| 409e0 | 74 73 2d 72 65 6d 6f 76 65 64 20 22 2c 20 22 29    29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 | ts-removed.",.")).....(message." | 
| 40a00 | 4e 6f 20 70 72 6f 6a 65 63 74 73 20 6e 65 65 64    65 64 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 | No.projects.needed.to.be.removed | 
| 40a20 | 2e 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 20 70 72 6f | .")))..;;;###autoload.(defun.pro | 
| 40a40 | 6a 65 63 74 69 6c 65 2d 63 6c 65 61 72 2d 6b 6e    6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20 28 29 0a | jectile-clear-known-projects.(). | 
| 40a60 | 20 20 22 43 6c 65 61 72 20 62 6f 74 68 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d | .."Clear.both.`projectile-known- | 
| 40a80 | 70 72 6f 6a 65 63 74 73 27 20 61 6e 64 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d | projects'.and.`projectile-known- | 
| 40aa0 | 70 72 6f 6a 65 63 74 73 2d 66 69 6c 65 27 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 | projects-file'."...(interactive) | 
| 40ac0 | 0a 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 | ...(setq.projectile-known-projec | 
| 40ae0 | 74 73 20 6e 69 6c 29 0a 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 73 61 76 65 2d 6b 6e 6f 77 6e | ts.nil)...(projectile-save-known | 
| 40b00 | 2d 70 72 6f 6a 65 63 74 73 29 29 0a 0a 3b 3b 3b    23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 | -projects))..;;;###autoload.(def | 
| 40b20 | 75 6e 20 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 6f 6a 65 63 | un.projectile-reset-known-projec | 
| 40b40 | 74 73 20 28 29 0a 20 20 22 43 6c 65 61 72 20 6b    6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 20 61 6e | ts.()..."Clear.known.projects.an | 
| 40b60 | 64 20 72 65 64 69 73 63 6f 76 65 72 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | d.rediscover."...(interactive).. | 
| 40b80 | 20 28 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 65 63 74 | .(projectile-clear-known-project | 
| 40ba0 | 73 29 0a 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 6a 65 63 | s)...(projectile-discover-projec | 
| 40bc0 | 74 73 2d 69 6e 2d 73 65 61 72 63 68 2d 70 61 74    68 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c | ts-in-search-path))..;;;###autol | 
| 40be0 | 6f 61 64 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 2d 6b 6e 6f | oad.(defun.projectile-remove-kno | 
| 40c00 | 77 6e 2d 70 72 6f 6a 65 63 74 20 28 26 6f 70 74    69 6f 6e 61 6c 20 70 72 6f 6a 65 63 74 29 0a 20 | wn-project.(&optional.project).. | 
| 40c20 | 20 22 52 65 6d 6f 76 65 20 50 52 4f 4a 45 43 54    20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 6f | ."Remove.PROJECT.from.the.list.o | 
| 40c40 | 66 20 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 | f.known.projects."...(interactiv | 
| 40c60 | 65 20 28 6c 69 73 74 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 | e.(list.(projectile-completing-r | 
| 40c80 | 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 52 65 6d 6f 76 | ead......................."Remov | 
| 40ca0 | 65 20 66 72 6f 6d 20 6b 6e 6f 77 6e 20 70 72 6f    6a 65 63 74 73 3a 20 22 20 70 72 6f 6a 65 63 74 | e.from.known.projects:.".project | 
| 40cc0 | 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 20 20 20 20 20 | ile-known-projects.............. | 
| 40ce0 | 20 20 20 20 20 20 20 20 20 3a 61 63 74 69 6f 6e    20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6d | .........:action.'projectile-rem | 
| 40d00 | 6f 76 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 | ove-known-project)))...(unless.( | 
| 40d20 | 63 61 6c 6c 65 64 2d 69 6e 74 65 72 61 63 74 69    76 65 6c 79 2d 70 20 27 61 6e 79 29 0a 20 20 20 | called-interactively-p.'any).... | 
| 40d40 | 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 73 | .(setq.projectile-known-projects | 
| 40d60 | 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72    65 6d 6f 76 65 2d 69 66 0a 20 20 20 20 20 20 20 | ...........(cl-remove-if........ | 
| 40d80 | 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f    6a 29 20 28 73 74 72 69 6e 67 3d 20 70 72 6f 6a | ....(lambda.(proj).(string=.proj | 
| 40da0 | 65 63 74 20 70 72 6f 6a 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 | ect.proj))............projectile | 
| 40dc0 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29    29 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c | -known-projects)).....(projectil | 
| 40de0 | 65 2d 6d 65 72 67 65 2d 6b 6e 6f 77 6e 2d 70 72    6f 6a 65 63 74 73 29 0a 20 20 20 20 28 77 68 65 | e-merge-known-projects).....(whe | 
| 40e00 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72    62 6f 73 65 0a 20 20 20 20 20 20 28 6d 65 73 73 | n.projectile-verbose.......(mess | 
| 40e20 | 61 67 65 20 22 50 72 6f 6a 65 63 74 20 25 73 20    72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 | age."Project.%s.removed.from.the | 
| 40e40 | 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 20 70 72 6f 6a 65 63 | .list.of.known.projects.".projec | 
| 40e60 | 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 75 6e 20 70 72 6f | t))))..;;;###autoload.(defun.pro | 
| 40e80 | 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d 63    75 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 66 | jectile-remove-current-project-f | 
| 40ea0 | 72 6f 6d 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 | rom-known-projects.()..."Remove. | 
| 40ec0 | 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a    65 63 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 | the.current.project.from.the.lis | 
| 40ee0 | 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 74 65 72 61 63 | t.of.known.projects."...(interac | 
| 40f00 | 74 69 76 65 29 0a 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 72 65 6d 6f 76 65 2d 6b 6e 6f 77 6e | tive)...(projectile-remove-known | 
| 40f20 | 2d 70 72 6f 6a 65 63 74 20 28 61 62 62 72 65 76    69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 | -project.(abbreviate-file-name.( | 
| 40f40 | 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 0a 28 64 65 | projectile-acquire-root))))..(de | 
| 40f60 | 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 65 63 74 73 20 | fun.projectile-ignored-projects. | 
| 40f80 | 28 29 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20    70 72 6f 6a 65 63 74 73 20 74 68 61 74 20 73 68 | ()..."A.list.of.projects.that.sh | 
| 40fa0 | 6f 75 6c 64 20 6e 6f 74 20 62 65 20 73 61 76 65    20 69 6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | ould.not.be.save.in.`projectile- | 
| 40fc0 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 27 2e    22 0a 20 20 28 6d 61 70 63 61 72 20 23 27 66 69 | known-projects'."...(mapcar.#'fi | 
| 40fe0 | 6c 65 2d 74 72 75 65 6e 61 6d 65 20 70 72 6f 6a    65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d 70 | le-truename.projectile-ignored-p | 
| 41000 | 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 69 67 6e | rojects))..(defun.projectile-ign | 
| 41020 | 6f 72 65 64 2d 70 72 6f 6a 65 63 74 2d 70 20 28    70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 | ored-project-p.(project-root)... | 
| 41040 | 22 52 65 74 75 72 6e 20 74 20 69 66 20 50 52 4f    4a 45 43 54 2d 52 4f 4f 54 20 73 68 6f 75 6c 64 | "Return.t.if.PROJECT-ROOT.should | 
| 41060 | 20 6e 6f 74 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 | .not.be.added.to.`projectile-kno | 
| 41080 | 77 6e 2d 70 72 6f 6a 65 63 74 73 27 2e 22 0a 20    20 28 6f 72 20 28 6d 65 6d 62 65 72 20 70 72 6f | wn-projects'."...(or.(member.pro | 
| 410a0 | 6a 65 63 74 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 70 72 | ject-root.(projectile-ignored-pr | 
| 410c0 | 6f 6a 65 63 74 73 29 29 0a 20 20 20 20 20 20 28    61 6e 64 20 28 66 75 6e 63 74 69 6f 6e 70 20 70 | ojects)).......(and.(functionp.p | 
| 410e0 | 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 2d 66 75 6e 63 74 69 | rojectile-ignored-project-functi | 
| 41100 | 6f 6e 29 0a 20 20 20 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 | on)............(funcall.projecti | 
| 41120 | 6c 65 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 20 70 72 6f 6a | le-ignored-project-function.proj | 
| 41140 | 65 63 74 2d 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 | ect-root))))..;;;###autoload.(de | 
| 41160 | 66 75 6e 20 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 | fun.projectile-add-known-project | 
| 41180 | 20 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a    20 20 22 41 64 64 20 50 52 4f 4a 45 43 54 2d 52 | .(project-root)..."Add.PROJECT-R | 
| 411a0 | 4f 4f 54 20 74 6f 20 74 68 65 20 6c 69 73 74 20    6f 66 20 6b 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 | OOT.to.the.list.of.known.project | 
| 411c0 | 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 72 65 61 64 2d 64 | s."...(interactive.(list.(read-d | 
| 411e0 | 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 20 22 41    64 64 20 74 6f 20 6b 6e 6f 77 6e 20 70 72 6f 6a | irectory-name."Add.to.known.proj | 
| 41200 | 65 63 74 73 3a 20 22 29 29 29 0a 20 20 28 75 6e    6c 65 73 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ects:.")))...(unless.(projectile | 
| 41220 | 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 6f 6f 74 29 | -ignored-project-p.project-root) | 
| 41240 | 0a 20 20 20 20 28 70 75 73 68 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f | .....(push.(file-name-as-directo | 
| 41260 | 72 79 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 | ry.(abbreviate-file-name.project | 
| 41280 | 2d 72 6f 6f 74 29 29 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 | -root)).projectile-known-project | 
| 412a0 | 73 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 64    75 70 73 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b | s).....(delete-dups.projectile-k | 
| 412c0 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d | nown-projects).....(projectile-m | 
| 412e0 | 65 72 67 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 | erge-known-projects)))..(defun.p | 
| 41300 | 72 6f 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 20 28 29 | rojectile-load-known-projects.() | 
| 41320 | 0a 20 20 22 4c 6f 61 64 20 73 61 76 65 64 20 70    72 6f 6a 65 63 74 73 20 66 72 6f 6d 20 60 70 72 | ..."Load.saved.projects.from.`pr | 
| 41340 | 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 27 2e 0a 41 | ojectile-known-projects-file'..A | 
| 41360 | 6c 73 6f 20 73 65 74 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 | lso.set.`projectile-known-projec | 
| 41380 | 74 73 27 2e 22 0a 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 | ts'."...(setq.projectile-known-p | 
| 413a0 | 72 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 75 6e 73 65 | rojects.........(projectile-unse | 
| 413c0 | 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 63 74 | rialize.projectile-known-project | 
| 413e0 | 73 2d 66 69 6c 65 29 29 0a 20 20 28 73 65 74 71    20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 | s-file))...(setq.projectile-know | 
| 41400 | 6e 2d 70 72 6f 6a 65 63 74 73 2d 6f 6e 2d 66 69    6c 65 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 | n-projects-on-file.........(and. | 
| 41420 | 28 73 65 71 75 65 6e 63 65 70 20 70 72 6f 6a 65    63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a | (sequencep.projectile-known-proj | 
| 41440 | 65 63 74 73 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 | ects)..............(copy-sequenc | 
| 41460 | 65 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 29 29 0a | e.projectile-known-projects)))). | 
| 41480 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 73 61 76 65 2d 6b 6e 6f 77 6e 2d 70 72 | .(defun.projectile-save-known-pr | 
| 414a0 | 6f 6a 65 63 74 73 20 28 29 0a 20 20 22 53 61 76    65 20 50 52 4f 4a 45 43 54 49 4c 45 2d 4b 4e 4f | ojects.()..."Save.PROJECTILE-KNO | 
| 414c0 | 57 4e 2d 50 52 4f 4a 45 43 54 53 20 74 6f 20 50    52 4f 4a 45 43 54 49 4c 45 2d 4b 4e 4f 57 4e 2d | WN-PROJECTS.to.PROJECTILE-KNOWN- | 
| 414e0 | 50 52 4f 4a 45 43 54 53 2d 46 49 4c 45 2e 22 0a    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 73 65 | PROJECTS-FILE."...(projectile-se | 
| 41500 | 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 63 74 | rialize.projectile-known-project | 
| 41520 | 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 70 72 6f 6a 65 63 | s.........................projec | 
| 41540 | 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 0a 20 20 28 73 65 74 | tile-known-projects-file)...(set | 
| 41560 | 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 2d 6f 6e 2d 66 | q.projectile-known-projects-on-f | 
| 41580 | 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 70 20 70 72 6f 6a | ile.........(and.(sequencep.proj | 
| 415a0 | 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 20 20 20 20 20 | ectile-known-projects).......... | 
| 415c0 | 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 69 6c 65 2d 6b 6e | ....(copy-sequence.projectile-kn | 
| 415e0 | 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 72 6f 6a 65 63 74 | own-projects))))..(defun.project | 
| 41600 | 69 6c 65 2d 6d 65 72 67 65 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 20 28 29 0a 20 20 22 4d | ile-merge-known-projects.()..."M | 
| 41620 | 65 72 67 65 20 61 6e 79 20 63 68 61 6e 67 65 20    66 72 6f 6d 20 60 70 72 6f 6a 65 63 74 69 6c 65 | erge.any.change.from.`projectile | 
| 41640 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d    66 69 6c 65 27 20 61 6e 64 20 73 61 76 65 20 74 | -known-projects-file'.and.save.t | 
| 41660 | 6f 20 64 69 73 6b 2e 0a 0a 54 68 69 73 20 65 6e    61 62 6c 65 73 20 6d 75 6c 74 69 70 6c 65 20 45 | o.disk...This.enables.multiple.E | 
| 41680 | 6d 61 63 73 20 70 72 6f 63 65 73 73 65 73 20 74    6f 20 6d 61 6b 65 20 63 68 61 6e 67 65 73 20 77 | macs.processes.to.make.changes.w | 
| 416a0 | 69 74 68 6f 75 74 0a 6f 76 65 72 77 72 69 74 69    6e 67 20 65 61 63 68 20 6f 74 68 65 72 27 73 20 | ithout.overwriting.each.other's. | 
| 416c0 | 63 68 61 6e 67 65 73 2e 22 0a 20 20 28 6c 65 74    2a 20 28 28 6b 6e 6f 77 6e 2d 6e 6f 77 20 70 72 | changes."...(let*.((known-now.pr | 
| 416e0 | 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 20 20 20 | ojectile-known-projects)........ | 
| 41700 | 20 20 28 6b 6e 6f 77 6e 2d 6f 6e 2d 6c 61 73 74    2d 73 79 6e 63 20 70 72 6f 6a 65 63 74 69 6c 65 | ..(known-on-last-sync.projectile | 
| 41720 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d    6f 6e 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 | -known-projects-on-file)........ | 
| 41740 | 20 20 28 6b 6e 6f 77 6e 2d 6f 6e 2d 66 69 6c 65    0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a | ..(known-on-file...........(proj | 
| 41760 | 65 63 74 69 6c 65 2d 75 6e 73 65 72 69 61 6c 69    7a 65 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e | ectile-unserialize.projectile-kn | 
| 41780 | 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d 66 69 6c    65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 | own-projects-file))..........(re | 
| 417a0 | 6d 6f 76 65 64 2d 61 66 74 65 72 2d 73 79 6e 63    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 66 | moved-after-sync.(projectile-dif | 
| 417c0 | 66 65 72 65 6e 63 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 | ference.known-on-last-sync.known | 
| 417e0 | 2d 6e 6f 77 29 29 0a 20 20 20 20 20 20 20 20 20    28 72 65 6d 6f 76 65 64 2d 69 6e 2d 6f 74 68 65 | -now))..........(removed-in-othe | 
| 41800 | 72 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | r-process...........(projectile- | 
| 41820 | 64 69 66 66 65 72 65 6e 63 65 20 6b 6e 6f 77 6e    2d 6f 6e 2d 6c 61 73 74 2d 73 79 6e 63 20 6b 6e | difference.known-on-last-sync.kn | 
| 41840 | 6f 77 6e 2d 6f 6e 2d 66 69 6c 65 29 29 0a 20 20    20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 | own-on-file))..........(result.( | 
| 41860 | 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 28 70 | delete-dups...................(p | 
| 41880 | 72 6f 6a 65 63 74 69 6c 65 2d 64 69 66 66 65 72    65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 | rojectile-difference............ | 
| 418a0 | 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20    6b 6e 6f 77 6e 2d 6e 6f 77 20 6b 6e 6f 77 6e 2d | ........(append.known-now.known- | 
| 418c0 | 6f 6e 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 28 61 70 70 | on-file)....................(app | 
| 418e0 | 65 6e 64 20 72 65 6d 6f 76 65 64 2d 61 66 74 65    72 2d 73 79 6e 63 20 72 65 6d 6f 76 65 64 2d 69 | end.removed-after-sync.removed-i | 
| 41900 | 6e 2d 6f 74 68 65 72 2d 70 72 6f 63 65 73 73 29    29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 70 | n-other-process))))).....(setq.p | 
| 41920 | 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 72 65 73 75 6c 74 29 | rojectile-known-projects.result) | 
| 41940 | 0a 20 20 20 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 | .....(projectile-save-known-proj | 
| 41960 | 65 63 74 73 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 49    42 75 66 66 65 72 20 69 6e 74 65 67 72 61 74 69 | ects)))....;;;.IBuffer.integrati | 
| 41980 | 6f 6e 0a 28 64 65 66 69 6e 65 2d 69 62 75 66 66    65 72 2d 66 69 6c 74 65 72 20 70 72 6f 6a 65 63 | on.(define-ibuffer-filter.projec | 
| 419a0 | 74 69 6c 65 2d 66 69 6c 65 73 0a 20 20 20 20 22    53 68 6f 77 20 49 62 75 66 66 65 72 20 77 69 74 | tile-files....."Show.Ibuffer.wit | 
| 419c0 | 68 20 61 6c 6c 20 62 75 66 66 65 72 73 20 69 6e    20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f | h.all.buffers.in.the.current.pro | 
| 419e0 | 6a 65 63 74 2e 22 0a 20 20 28 3a 72 65 61 64 65    72 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 | ject."...(:reader.(read-director | 
| 41a00 | 79 2d 6e 61 6d 65 20 22 50 72 6f 6a 65 63 74 20    72 6f 6f 74 3a 20 22 20 28 70 72 6f 6a 65 63 74 | y-name."Project.root:.".(project | 
| 41a20 | 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 20 20 3a 64 | ile-project-root))............:d | 
| 41a40 | 65 73 63 72 69 70 74 69 6f 6e 20 6e 69 6c 29 0a    20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d | escription.nil)...(with-current- | 
| 41a60 | 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 28    6c 65 74 20 28 28 64 69 72 65 63 74 6f 72 79 20 | buffer.buf.....(let.((directory. | 
| 41a80 | 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 2d | (file-name-as-directory.(expand- | 
| 41aa0 | 66 69 6c 65 2d 6e 61 6d 65 20 71 75 61 6c 69 66    69 65 72 29 29 29 29 0a 20 20 20 20 20 20 28 61 | file-name.qualifier)))).......(a | 
| 41ac0 | 6e 64 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 20 | nd.(projectile-project-buffer-p. | 
| 41ae0 | 62 75 66 20 64 69 72 65 63 74 6f 72 79 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c | buf.directory)............(equal | 
| 41b00 | 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 20 20 20 20 28 70 72 | .directory...................(pr | 
| 41b20 | 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 29 0a 0a 28 64 65 | ojectile-project-root))))))..(de | 
| 41b40 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69    62 75 66 66 65 72 2d 62 79 2d 70 72 6f 6a 65 63 | fun.projectile-ibuffer-by-projec | 
| 41b60 | 74 20 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29    0a 20 20 22 4f 70 65 6e 20 61 6e 20 49 42 75 66 | t.(project-root)..."Open.an.IBuf | 
| 41b80 | 66 65 72 20 77 69 6e 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 | fer.window.showing.all.buffers.i | 
| 41ba0 | 6e 20 50 52 4f 4a 45 43 54 2d 52 4f 4f 54 2e 22    0a 20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 | n.PROJECT-ROOT."...(let.((projec | 
| 41bc0 | 74 2d 6e 61 6d 65 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 65 | t-name.(funcall.projectile-proje | 
| 41be0 | 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 29 29 | ct-name-function.project-root))) | 
| 41c00 | 0a 20 20 20 20 28 69 62 75 66 66 65 72 20 6e 69    6c 20 28 66 6f 72 6d 61 74 20 22 2a 25 73 20 42 | .....(ibuffer.nil.(format."*%s.B | 
| 41c20 | 75 66 66 65 72 73 2a 22 20 70 72 6f 6a 65 63 74    2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 | uffers*".project-name).......... | 
| 41c40 | 20 20 20 20 28 6c 69 73 74 20 28 63 6f 6e 73 20    27 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 | ....(list.(cons.'projectile-file | 
| 41c60 | 73 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 74 6f 6c | s.project-root)))))..;;;###autol | 
| 41c80 | 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 69 62 75 66 66 65 72 20 28 70 | oad.(defun.projectile-ibuffer.(p | 
| 41ca0 | 72 6f 6d 70 74 2d 66 6f 72 2d 70 72 6f 6a 65 63    74 29 0a 20 20 22 4f 70 65 6e 20 61 6e 20 49 42 | rompt-for-project)..."Open.an.IB | 
| 41cc0 | 75 66 66 65 72 20 77 69 6e 64 6f 77 20 73 68 6f    77 69 6e 67 20 61 6c 6c 20 62 75 66 66 65 72 73 | uffer.window.showing.all.buffers | 
| 41ce0 | 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20    70 72 6f 6a 65 63 74 2e 0a 0a 4c 65 74 20 75 73 | .in.the.current.project...Let.us | 
| 41d00 | 65 72 20 63 68 6f 6f 73 65 20 61 6e 6f 74 68 65    72 20 70 72 6f 6a 65 63 74 20 77 68 65 6e 20 50 | er.choose.another.project.when.P | 
| 41d20 | 52 4f 4d 50 54 2d 46 4f 52 2d 50 52 4f 4a 45 43    54 20 69 73 20 73 75 70 70 6c 69 65 64 2e 22 0a | ROMPT-FOR-PROJECT.is.supplied.". | 
| 41d40 | 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 | 
| 41d60 | 6a 65 63 74 2d 72 6f 6f 74 20 28 69 66 20 70 72    6f 6d 70 74 2d 66 6f 72 2d 70 72 6f 6a 65 63 74 | ject-root.(if.prompt-for-project | 
| 41d80 | 0a 20 20 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 | ...........................(proj | 
| 41da0 | 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 20 20 | ectile-completing-read.......... | 
| 41dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 22 50 72 6f 6a 65 63 74 20 6e 61 6d 65 3a | .................."Project.name: | 
| 41de0 | 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 28 70 | ."............................(p | 
| 41e00 | 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 6a 65 63 74 | rojectile-relevant-known-project | 
| 41e20 | 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 28 70 72 6f | s)).........................(pro | 
| 41e40 | 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 20 28 70 72 | jectile-acquire-root)))).....(pr | 
| 41e60 | 6f 6a 65 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 70 72 6f 6a | ojectile-ibuffer-by-project.proj | 
| 41e80 | 65 63 74 2d 72 6f 6f 74 29 29 29 0a 0a 0c 0a 3b    3b 3b 3b 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | ect-root)))....;;;;.projectile-c | 
| 41ea0 | 6f 6d 6d 61 6e 64 65 72 0a 0a 28 64 65 66 63 6f    6e 73 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | ommander..(defconst.projectile-c | 
| 41ec0 | 6f 6d 6d 61 6e 64 65 72 2d 68 65 6c 70 2d 62 75    66 66 65 72 20 22 2a 50 72 6f 6a 65 63 74 69 6c | ommander-help-buffer."*Projectil | 
| 41ee0 | 65 20 43 6f 6d 6d 61 6e 64 65 72 20 48 65 6c 70    2a 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f | e.Commander.Help*")..(defvar.pro | 
| 41f00 | 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 20 6e 69 6c 0a 20 20 | jectile-commander-methods.nil... | 
| 41f20 | 22 4c 69 73 74 20 6f 66 20 66 69 6c 65 2d 73 65    6c 65 63 74 69 6f 6e 20 6d 65 74 68 6f 64 73 20 | "List.of.file-selection.methods. | 
| 41f40 | 66 6f 72 20 74 68 65 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 27 20 63 | for.the.`projectile-commander'.c | 
| 41f60 | 6f 6d 6d 61 6e 64 2e 0a 45 61 63 68 20 65 6c 65    6d 65 6e 74 20 69 73 20 61 20 6c 69 73 74 20 28 | ommand..Each.element.is.a.list.( | 
| 41f80 | 4b 45 59 20 44 45 53 43 52 49 50 54 49 4f 4e 20    46 55 4e 43 54 49 4f 4e 29 2e 0a 44 45 53 43 52 | KEY.DESCRIPTION.FUNCTION)..DESCR | 
| 41fa0 | 49 50 54 49 4f 4e 20 69 73 20 61 20 6f 6e 65 2d    6c 69 6e 65 20 64 65 73 63 72 69 70 74 69 6f 6e | IPTION.is.a.one-line.description | 
| 41fc0 | 20 6f 66 20 77 68 61 74 20 74 68 65 20 6b 65 79    20 73 65 6c 65 63 74 73 2e 22 29 0a 0a 3b 3b 3b | .of.what.the.key.selects.")..;;; | 
| 41fe0 | 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 6f | ###autoload.(defun.projectile-co | 
| 42000 | 6d 6d 61 6e 64 65 72 20 28 29 0a 20 20 22 45 78    65 63 75 74 65 20 61 20 50 72 6f 6a 65 63 74 69 | mmander.()..."Execute.a.Projecti | 
| 42020 | 6c 65 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20    61 20 73 69 6e 67 6c 65 20 6c 65 74 74 65 72 2e | le.command.with.a.single.letter. | 
| 42040 | 0a 54 68 65 20 75 73 65 72 20 69 73 20 70 72 6f    6d 70 74 65 64 20 66 6f 72 20 61 20 73 69 6e 67 | .The.user.is.prompted.for.a.sing | 
| 42060 | 6c 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 64    69 63 61 74 69 6e 67 20 74 68 65 20 61 63 74 69 | le.character.indicating.the.acti | 
| 42080 | 6f 6e 20 74 6f 20 69 6e 76 6f 6b 65 2e 0a 54 68    65 20 60 3f 27 20 63 68 61 72 61 63 74 65 72 20 | on.to.invoke..The.`?'.character. | 
| 420a0 | 64 65 73 63 72 69 62 65 73 20 74 68 65 6e 0a 61    76 61 69 6c 61 62 6c 65 20 61 63 74 69 6f 6e 73 | describes.then.available.actions | 
| 420c0 | 2e 0a 0a 53 65 65 20 60 64 65 66 2d 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 | ...See.`def-projectile-commander | 
| 420e0 | 2d 6d 65 74 68 6f 64 27 20 66 6f 72 20 64 65 66    69 6e 69 6e 67 20 6e 65 77 20 6d 65 74 68 6f 64 | -method'.for.defining.new.method | 
| 42100 | 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69    76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 63 68 | s."...(interactive)...(let*.((ch | 
| 42120 | 6f 69 63 65 73 20 28 6d 61 70 63 61 72 20 23 27    63 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | oices.(mapcar.#'car.projectile-c | 
| 42140 | 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 73    29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f | ommander-methods))..........(pro | 
| 42160 | 6d 70 74 20 28 63 6f 6e 63 61 74 20 22 53 65 6c    65 63 74 20 50 72 6f 6a 65 63 74 69 6c 65 20 63 | mpt.(concat."Select.Projectile.c | 
| 42180 | 6f 6d 6d 61 6e 64 20 5b 22 20 63 68 6f 69 63 65    73 20 22 5d 3a 20 22 29 29 0a 20 20 20 20 20 20 | ommand.[".choices."]:."))....... | 
| 421a0 | 20 20 20 28 63 68 20 28 72 65 61 64 2d 63 68 61    72 2d 63 68 6f 69 63 65 20 70 72 6f 6d 70 74 20 | ...(ch.(read-char-choice.prompt. | 
| 421c0 | 63 68 6f 69 63 65 73 29 29 0a 20 20 20 20 20 20    20 20 20 28 66 6e 20 28 6e 74 68 20 32 20 28 61 | choices))..........(fn.(nth.2.(a | 
| 421e0 | 73 73 71 20 63 68 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 | ssq.ch.projectile-commander-meth | 
| 42200 | 6f 64 73 29 29 29 29 0a 20 20 20 20 28 66 75 6e    63 61 6c 6c 20 66 6e 29 29 29 0a 0a 28 64 65 66 | ods)))).....(funcall.fn)))..(def | 
| 42220 | 6d 61 63 72 6f 20 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 | macro.def-projectile-commander-m | 
| 42240 | 65 74 68 6f 64 20 28 6b 65 79 20 64 65 73 63 72    69 70 74 69 6f 6e 20 26 72 65 73 74 20 62 6f 64 | ethod.(key.description.&rest.bod | 
| 42260 | 79 29 0a 20 20 22 44 65 66 69 6e 65 20 61 20 6e    65 77 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | y)..."Define.a.new.`projectile-c | 
| 42280 | 6f 6d 6d 61 6e 64 65 72 27 20 6d 65 74 68 6f 64    2e 0a 0a 4b 45 59 20 69 73 20 74 68 65 20 6b 65 | ommander'.method...KEY.is.the.ke | 
| 422a0 | 79 20 74 68 65 20 75 73 65 72 20 77 69 6c 6c 20    65 6e 74 65 72 20 74 6f 20 63 68 6f 6f 73 65 20 | y.the.user.will.enter.to.choose. | 
| 422c0 | 74 68 69 73 20 6d 65 74 68 6f 64 2e 0a 0a 44 45    53 43 52 49 50 54 49 4f 4e 20 69 73 20 61 20 6f | this.method...DESCRIPTION.is.a.o | 
| 422e0 | 6e 65 2d 6c 69 6e 65 20 73 65 6e 74 65 6e 63 65    20 64 65 73 63 72 69 62 69 6e 67 20 68 6f 77 20 | ne-line.sentence.describing.how. | 
| 42300 | 74 68 65 20 6d 65 74 68 6f 64 2e 0a 0a 42 4f 44    59 20 69 73 20 61 20 73 65 72 69 65 73 20 6f 66 | the.method...BODY.is.a.series.of | 
| 42320 | 20 66 6f 72 6d 73 20 77 68 69 63 68 20 61 72 65    20 65 76 61 6c 75 61 74 65 64 20 77 68 65 6e 20 | .forms.which.are.evaluated.when. | 
| 42340 | 74 68 65 20 66 69 6e 64 0a 69 73 20 63 68 6f 73    65 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 65 | the.find.is.chosen."...(let.((me | 
| 42360 | 74 68 6f 64 20 60 28 6c 61 6d 62 64 61 20 28 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | thod.`(lambda.()................ | 
| 42380 | 20 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 20 20    20 20 60 28 73 65 74 71 20 70 72 6f 6a 65 63 74 | ....,@body))).....`(setq.project | 
| 423a0 | 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d 65    74 68 6f 64 73 0a 20 20 20 20 20 20 20 20 20 20 | ile-commander-methods........... | 
| 423c0 | 20 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 | .(cl-sort.(copy-sequence........ | 
| 423e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 73 20 28 6c 69 73 74 20 2c 6b 65 79 20 2c | ..............(cons.(list.,key., | 
| 42400 | 64 65 73 63 72 69 70 74 69 6f 6e 20 2c 6d 65 74    68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 | description.,method)............ | 
| 42420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c | ................(assq-delete-all | 
| 42440 | 20 2c 6b 65 79 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 | .,key.projectile-commander-metho | 
| 42460 | 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 20 28 6c 61 6d 62 64 | ds))).....................(lambd | 
| 42480 | 61 20 28 61 20 62 29 20 28 3c 20 28 63 61 72 20    61 29 20 28 63 61 72 20 62 29 29 29 29 29 29 29 | a.(a.b).(<.(car.a).(car.b))))))) | 
| 424a0 | 0a 0a 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 | ..(def-projectile-commander-meth | 
| 424c0 | 6f 64 20 3f 3f 20 22 43 6f 6d 6d 61 6e 64 65 72    20 68 65 6c 70 20 62 75 66 66 65 72 2e 22 0a 20 | od.??."Commander.help.buffer.".. | 
| 424e0 | 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20    28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 70 72 6f | .(ignore-errors.(kill-buffer.pro | 
| 42500 | 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 72 29 29 0a | jectile-commander-help-buffer)). | 
| 42520 | 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d    62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 | ..(with-current-buffer.(get-buff | 
| 42540 | 65 72 2d 63 72 65 61 74 65 20 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 68 | er-create.projectile-commander-h | 
| 42560 | 65 6c 70 2d 62 75 66 66 65 72 29 0a 20 20 20 20    28 69 6e 73 65 72 74 20 22 50 72 6f 6a 65 63 74 | elp-buffer).....(insert."Project | 
| 42580 | 69 6c 65 20 43 6f 6d 6d 61 6e 64 65 72 20 4d 65    74 68 6f 64 73 3a 5c 6e 5c 6e 22 29 0a 20 20 20 | ile.Commander.Methods:\n\n").... | 
| 425a0 | 20 28 64 6f 6c 69 73 74 20 28 6d 65 74 20 70 72    6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 | .(dolist.(met.projectile-command | 
| 425c0 | 65 72 2d 6d 65 74 68 6f 64 73 29 0a 20 20 20 20    20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 | er-methods).......(insert.(forma | 
| 425e0 | 74 20 22 25 63 3a 5c 74 25 73 5c 6e 22 20 28 63    61 72 20 6d 65 74 29 20 28 63 61 64 72 20 6d 65 | t."%c:\t%s\n".(car.met).(cadr.me | 
| 42600 | 74 29 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d    63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 | t)))).....(goto-char.(point-min) | 
| 42620 | 29 0a 20 20 20 20 28 68 65 6c 70 2d 6d 6f 64 65    29 0a 20 20 20 20 28 64 69 73 70 6c 61 79 2d 62 | ).....(help-mode).....(display-b | 
| 42640 | 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62    75 66 66 65 72 29 20 74 29 29 0a 20 20 28 70 72 | uffer.(current-buffer).t))...(pr | 
| 42660 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64    65 72 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | ojectile-commander))..(defun.pro | 
| 42680 | 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65    72 2d 62 69 6e 64 69 6e 67 73 20 28 29 0a 20 20 | jectile-commander-bindings.()... | 
| 426a0 | 22 53 65 74 75 70 20 74 68 65 20 6b 65 79 62 69    6e 64 69 6e 67 73 20 66 6f 72 20 74 68 65 20 50 | "Setup.the.keybindings.for.the.P | 
| 426c0 | 72 6f 6a 65 63 74 69 6c 65 20 43 6f 6d 6d 61 6e    64 65 72 2e 22 0a 20 20 28 64 65 66 2d 70 72 6f | rojectile.Commander."...(def-pro | 
| 426e0 | 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 66 0a 20 20 20 20 | jectile-commander-method.?f..... | 
| 42700 | 22 46 69 6e 64 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 | "Find.file.in.project.".....(pro | 
| 42720 | 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c    65 29 29 0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a | jectile-find-file))....(def-proj | 
| 42740 | 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 54 0a 20 20 20 20 22 | ectile-commander-method.?T....." | 
| 42760 | 46 69 6e 64 20 74 65 73 74 20 66 69 6c 65 20 69    6e 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 20 20 | Find.test.file.in.project."..... | 
| 42780 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64    2d 74 65 73 74 2d 66 69 6c 65 29 29 0a 0a 20 20 | (projectile-find-test-file)).... | 
| 427a0 | 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 | 
| 427c0 | 20 3f 62 0a 20 20 20 20 22 53 77 69 74 63 68 20    74 6f 20 70 72 6f 6a 65 63 74 20 62 75 66 66 65 | .?b....."Switch.to.project.buffe | 
| 427e0 | 72 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 74 6f 2d 62 75 | r.".....(projectile-switch-to-bu | 
| 42800 | 66 66 65 72 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 | ffer))....(def-projectile-comman | 
| 42820 | 64 65 72 2d 6d 65 74 68 6f 64 20 3f 64 0a 20 20    20 20 22 46 69 6e 64 20 64 69 72 65 63 74 6f 72 | der-method.?d....."Find.director | 
| 42840 | 79 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 | y.in.project.".....(projectile-f | 
| 42860 | 69 6e 64 2d 64 69 72 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 | ind-dir))....(def-projectile-com | 
| 42880 | 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 20 3f 44    0a 20 20 20 20 22 4f 70 65 6e 20 70 72 6f 6a 65 | mander-method.?D....."Open.proje | 
| 428a0 | 63 74 20 72 6f 6f 74 20 69 6e 20 64 69 72 65 64    2e 22 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | ct.root.in.dired.".....(projecti | 
| 428c0 | 6c 65 2d 64 69 72 65 64 29 29 0a 0a 20 20 28 64    65 66 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f | le-dired))....(def-projectile-co | 
| 428e0 | 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 20 3f    76 0a 20 20 20 20 22 4f 70 65 6e 20 70 72 6f 6a | mmander-method.?v....."Open.proj | 
| 42900 | 65 63 74 20 72 6f 6f 74 20 69 6e 20 76 63 2d 64    69 72 20 6f 72 20 6d 61 67 69 74 2e 22 0a 20 20 | ect.root.in.vc-dir.or.magit."... | 
| 42920 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 76 63    29 29 0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a 65 | ..(projectile-vc))....(def-proje | 
| 42940 | 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d    6d 65 74 68 6f 64 20 3f 56 0a 20 20 20 20 22 42 | ctile-commander-method.?V....."B | 
| 42960 | 72 6f 77 73 65 20 64 69 72 74 79 20 70 72 6f 6a    65 63 74 73 22 0a 20 20 20 20 28 70 72 6f 6a 65 | rowse.dirty.projects".....(proje | 
| 42980 | 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 29 29 0a 0a 20 | ctile-browse-dirty-projects))... | 
| 429a0 | 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 | 
| 429c0 | 64 20 3f 72 0a 20 20 20 20 22 52 65 70 6c 61 63    65 20 61 20 73 74 72 69 6e 67 20 69 6e 20 74 68 | d.?r....."Replace.a.string.in.th | 
| 429e0 | 65 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 70 6c | e.project.".....(projectile-repl | 
| 42a00 | 61 63 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 6d 6d 61 6e 64 | ace))....(def-projectile-command | 
| 42a20 | 65 72 2d 6d 65 74 68 6f 64 20 3f 52 0a 20 20 20    20 22 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 | er-method.?R....."Regenerate.the | 
| 42a40 | 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 20 20 28 70 72 6f 6a | .project's.[e|g]tags.".....(proj | 
| 42a60 | 65 63 74 69 6c 65 2d 72 65 67 65 6e 65 72 61 74    65 2d 74 61 67 73 29 29 0a 0a 20 20 28 64 65 66 | ectile-regenerate-tags))....(def | 
| 42a80 | 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 3f 67 0a | -projectile-commander-method.?g. | 
| 42aa0 | 20 20 20 20 22 52 75 6e 20 67 72 65 70 20 6f 6e    20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 20 20 28 | ...."Run.grep.on.project.".....( | 
| 42ac0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 29    29 0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a 65 63 | projectile-grep))....(def-projec | 
| 42ae0 | 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d    65 74 68 6f 64 20 3f 70 0a 20 20 20 20 22 52 75 | tile-commander-method.?p....."Ru | 
| 42b00 | 6e 20 72 69 70 67 72 65 70 20 6f 6e 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 20 20 28 63 61 6c 6c | n.ripgrep.on.project.".....(call | 
| 42b20 | 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 65 2d 72 69 70 67 | -interactively.#'projectile-ripg | 
| 42b40 | 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 61 6e 64 | rep))....(def-projectile-command | 
| 42b60 | 65 72 2d 6d 65 74 68 6f 64 20 3f 61 0a 20 20 20    20 22 52 75 6e 20 61 67 20 6f 6e 20 70 72 6f 6a | er-method.?a....."Run.ag.on.proj | 
| 42b80 | 65 63 74 2e 22 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 27 | ect.".....(call-interactively.#' | 
| 42ba0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 61 67 29 29 0a    0a 20 20 28 64 65 66 2d 70 72 6f 6a 65 63 74 69 | projectile-ag))....(def-projecti | 
| 42bc0 | 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74    68 6f 64 20 3f 73 0a 20 20 20 20 22 53 77 69 74 | le-commander-method.?s....."Swit | 
| 42be0 | 63 68 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 73 77 69 | ch.project.".....(projectile-swi | 
| 42c00 | 74 63 68 2d 70 72 6f 6a 65 63 74 29 29 0a 0a 20    20 28 64 65 66 2d 70 72 6f 6a 65 63 74 69 6c 65 | tch-project))....(def-projectile | 
| 42c20 | 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f    64 20 3f 6f 0a 20 20 20 20 22 52 75 6e 20 6d 75 | -commander-method.?o....."Run.mu | 
| 42c40 | 6c 74 69 2d 6f 63 63 75 72 20 6f 6e 20 70 72 6f    6a 65 63 74 20 62 75 66 66 65 72 73 2e 22 0a 20 | lti-occur.on.project.buffers.".. | 
| 42c60 | 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d    75 6c 74 69 2d 6f 63 63 75 72 29 29 0a 0a 20 20 | ...(projectile-multi-occur)).... | 
| 42c80 | 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 | 
| 42ca0 | 20 3f 6a 0a 20 20 20 20 22 46 69 6e 64 20 74 61    67 20 69 6e 20 70 72 6f 6a 65 63 74 2e 22 0a 20 | .?j....."Find.tag.in.project.".. | 
| 42cc0 | 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6e 64 2d 74 61 67 29 29 0a 0a 20 20 28 64 65 | ...(projectile-find-tag))....(de | 
| 42ce0 | 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 20 3f 6b | f-projectile-commander-method.?k | 
| 42d00 | 0a 20 20 20 20 22 4b 69 6c 6c 20 61 6c 6c 20 70    72 6f 6a 65 63 74 20 62 75 66 66 65 72 73 2e 22 | ....."Kill.all.project.buffers." | 
| 42d20 | 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 6b 69 6c 6c 2d 62 75 66 66 65 72 73 29 29 0a | .....(projectile-kill-buffers)). | 
| 42d40 | 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 74 | ...(def-projectile-commander-met | 
| 42d60 | 68 6f 64 20 3f 65 0a 20 20 20 20 22 46 69 6e 64    20 72 65 63 65 6e 74 6c 79 20 76 69 73 69 74 65 | hod.?e....."Find.recently.visite | 
| 42d80 | 64 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 | d.file.in.project.".....(project | 
| 42da0 | 69 6c 65 2d 72 65 63 65 6e 74 66 29 29 29 0a 0a    0c 0a 3b 3b 3b 20 44 69 72 74 79 20 28 6d 6f 64 | ile-recentf)))....;;;.Dirty.(mod | 
| 42dc0 | 69 66 69 65 64 29 20 70 72 6f 6a 65 63 74 20 63    68 65 63 6b 20 72 65 6c 61 74 65 64 20 66 75 6e | ified).project.check.related.fun | 
| 42de0 | 63 74 69 6f 6e 61 6c 69 74 79 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 68 65 | ctionality.(defun.projectile-che | 
| 42e00 | 63 6b 2d 76 63 73 2d 73 74 61 74 75 73 20 28 26    6f 70 74 69 6f 6e 61 6c 20 70 72 6f 6a 65 63 74 | ck-vcs-status.(&optional.project | 
| 42e20 | 2d 70 61 74 68 29 0a 20 20 22 43 68 65 63 6b 20    74 68 65 20 73 74 61 74 75 73 20 6f 66 20 74 68 | -path)..."Check.the.status.of.th | 
| 42e40 | 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63    74 2e 0a 49 66 20 50 52 4f 4a 45 43 54 2d 50 41 | e.current.project..If.PROJECT-PA | 
| 42e60 | 54 48 20 69 73 20 61 20 70 72 6f 6a 65 63 74 2c    20 63 68 65 63 6b 20 74 68 69 73 20 6f 6e 65 20 | TH.is.a.project,.check.this.one. | 
| 42e80 | 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 6c 65 74    20 28 28 70 72 6f 6a 65 63 74 2d 70 61 74 68 20 | instead."...(let.((project-path. | 
| 42ea0 | 28 6f 72 20 70 72 6f 6a 65 63 74 2d 70 61 74 68    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 | (or.project-path.(projectile-acq | 
| 42ec0 | 75 69 72 65 2d 72 6f 6f 74 29 29 29 0a 20 20 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 2d 73 74 | uire-root))).........(project-st | 
| 42ee0 | 61 74 75 73 20 6e 69 6c 29 29 0a 20 20 20 20 28    73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 | atus.nil)).....(save-excursion.. | 
| 42f00 | 20 20 20 20 20 28 76 63 2d 64 69 72 20 70 72 6f    6a 65 63 74 2d 70 61 74 68 29 0a 20 20 20 20 20 | .....(vc-dir.project-path)...... | 
| 42f20 | 20 3b 3b 20 77 61 69 74 20 75 6e 74 69 6c 20 76    63 2d 64 69 72 20 69 73 20 64 6f 6e 65 0a 20 20 | .;;.wait.until.vc-dir.is.done... | 
| 42f40 | 20 20 20 20 28 77 68 69 6c 65 20 28 76 63 2d 64    69 72 2d 62 75 73 79 29 20 28 73 6c 65 65 70 2d | ....(while.(vc-dir-busy).(sleep- | 
| 42f60 | 66 6f 72 20 30 2e 31 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 | for.0.1)).......;;.check.for.sta | 
| 42f80 | 74 75 73 0a 20 20 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 | tus.......(save-excursion....... | 
| 42fa0 | 20 20 28 73 61 76 65 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 | ..(save-match-data...........(do | 
| 42fc0 | 6c 69 73 74 20 28 63 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 | list.(check.projectile-vcs-dirty | 
| 42fe0 | 2d 73 74 61 74 65 29 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 | -state).............(goto-char.( | 
| 43000 | 70 6f 69 6e 74 2d 6d 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 | point-min)).............(when.(s | 
| 43020 | 65 61 72 63 68 2d 66 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 | earch-forward.check.nil.t)...... | 
| 43040 | 20 20 20 20 20 20 20 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 | .........(setq.project-status.(c | 
| 43060 | 6f 6e 73 20 63 68 65 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 | ons.check.project-status)))))).. | 
| 43080 | 20 20 20 20 20 28 6b 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 | .....(kill-buffer).......project | 
| 430a0 | 2d 73 74 61 74 75 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 63 | -status)))..(defvar.projectile-c | 
| 430c0 | 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 20 6e 69 6c 0a | ached-dirty-projects-status.nil. | 
| 430e0 | 20 20 22 43 61 63 68 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 | .."Cache.of.the.last.dirty.proje | 
| 43100 | 63 74 73 20 63 68 65 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 | cts.check.")..(defun.projectile- | 
| 43120 | 63 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 | check-vcs-status-of-known-projec | 
| 43140 | 74 73 20 28 29 0a 20 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 | ts.()..."Return.the.list.of.dirt | 
| 43160 | 79 20 70 72 6f 6a 65 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 | y.projects..The.list.is.composed | 
| 43180 | 20 6f 66 20 73 75 62 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 | .of.sublists~:.(project-path,.pr | 
| 431a0 | 6f 6a 65 63 74 2d 73 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 | oject-status)..Raise.an.error.if | 
| 431c0 | 20 74 68 65 69 72 20 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 | .their.is.no.dirty.project."...( | 
| 431e0 | 73 61 76 65 2d 77 69 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 | save-window-excursion.....(messa | 
| 43200 | 67 65 20 22 43 68 65 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 | ge."Checking.for.modifications.i | 
| 43220 | 6e 20 6b 6e 6f 77 6e 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 | n.known.projects...").....(let.( | 
| 43240 | 28 70 72 6f 6a 65 63 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 | (projects.projectile-known-proje | 
| 43260 | 63 74 73 29 0a 20 20 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 | cts)...........(status.()))..... | 
| 43280 | 20 20 28 64 6f 6c 69 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 | ..(dolist.(project.projects).... | 
| 432a0 | 20 20 20 20 20 28 77 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 | .....(when.(and.(projectile-keep | 
| 432c0 | 2d 70 72 6f 6a 65 63 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 | -project-p.project).(not.(string | 
| 432e0 | 3d 20 27 6e 6f 6e 65 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 | =.'none.(projectile-project-vcs. | 
| 43300 | 70 72 6f 6a 65 63 74 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 | project))))...........(let.((tmp | 
| 43320 | 2d 73 74 61 74 75 73 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 | -status.(projectile-check-vcs-st | 
| 43340 | 61 74 75 73 20 70 72 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 | atus.project))).............(whe | 
| 43360 | 6e 20 74 6d 70 2d 73 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 | n.tmp-status...............(setq | 
| 43380 | 20 73 74 61 74 75 73 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 | .status.(cons.(list.project.tmp- | 
| 433a0 | 73 74 61 74 75 73 29 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 | status).status)))))).......(when | 
| 433c0 | 20 28 3d 20 28 6c 65 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 | .(=.(length.status).0).........( | 
| 433e0 | 6d 65 73 73 61 67 65 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 | message."No.dirty.projects.have. | 
| 43400 | 62 65 65 6e 20 66 6f 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 | been.found")).......(setq.projec | 
| 43420 | 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 74 75 | tile-cached-dirty-projects-statu | 
| 43440 | 73 20 73 74 61 74 75 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 | s.status).......status)))..;;;## | 
| 43460 | 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 62 72 6f 77 | #autoload.(defun.projectile-brow | 
| 43480 | 73 65 2d 64 69 72 74 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 | se-dirty-projects.(&optional.cac | 
| 434a0 | 68 65 64 29 0a 20 20 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 | hed)..."Browse.dirty.version.con | 
| 434c0 | 74 72 6f 6c 6c 65 64 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 | trolled.projects...With.a.prefix | 
| 434e0 | 20 61 72 67 75 6d 65 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 | .argument,.or.if.CACHED.is.non-n | 
| 43500 | 69 6c 2c 20 74 72 79 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 | il,.try.to.use.the.cached.dirty. | 
| 43520 | 70 72 6f 6a 65 63 74 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 | project.list."...(interactive."P | 
| 43540 | 22 29 0a 20 20 28 6c 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 | ")...(let.((status.(if.(and.cach | 
| 43560 | 65 64 20 70 72 6f 6a 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 | ed.projectile-cached-dirty-proje | 
| 43580 | 63 74 73 2d 73 74 61 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 | cts-status)..................... | 
| 435a0 | 70 72 6f 6a 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 | projectile-cached-dirty-projects | 
| 435c0 | 2d 73 74 61 74 75 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 | -status...................(proje | 
| 435e0 | 63 74 69 6c 65 2d 63 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 | ctile-check-vcs-status-of-known- | 
| 43600 | 70 72 6f 6a 65 63 74 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 | projects))).........(mod-proj.ni | 
| 43620 | 6c 29 29 0a 20 20 20 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 | l)).....(while.(not.(=.(length.s | 
| 43640 | 74 61 74 75 73 29 20 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 | tatus).0)).......(setq.mod-proj. | 
| 43660 | 28 63 6f 6e 73 20 28 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 | (cons.(car.(pop.status)).mod-pro | 
| 43680 | 6a 29 29 29 0a 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 | j))).....(projectile-completing- | 
| 436a0 | 72 65 61 64 20 22 53 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 | read."Select.project:.".mod-proj | 
| 436c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 436e0 | 20 3a 61 63 74 69 6f 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 | .:action.'projectile-vc)))....;; | 
| 43700 | 3b 20 46 69 6e 64 20 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 | ;.Find.next/previous.project.buf | 
| 43720 | 66 65 72 0a 28 64 65 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 | fer.(defun.projectile--repeat-un | 
| 43740 | 74 69 6c 2d 70 72 6f 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 | til-project-buffer.(orig-fun.&re | 
| 43760 | 73 74 20 61 72 67 73 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 | st.args)..."Repeat.ORIG-FUN.with | 
| 43780 | 20 41 52 47 53 20 75 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 | .ARGS.until.the.current.buffer.i | 
| 437a0 | 73 20 61 20 70 72 6f 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 | s.a.project.buffer."...(if.(proj | 
| 437c0 | 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 28 6c 65 74 2a | ectile-project-root).......(let* | 
| 437e0 | 20 28 28 6f 74 68 65 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 | .((other-project-buffers.(make-h | 
| 43800 | 61 73 68 2d 74 61 62 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 | ash-table.:test.'eq))........... | 
| 43820 | 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 73 20 28 | ...(projectile-project-buffers.( | 
| 43840 | 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 0a 20 20 20 | projectile-project-buffers)).... | 
| 43860 | 20 20 20 20 20 20 20 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 | ..........(max-iterations.(lengt | 
| 43880 | 68 20 28 62 75 66 66 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 | h.(buffer-list)))..............( | 
| 438a0 | 63 6f 75 6e 74 65 72 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 | counter.0)).........(dolist.(buf | 
| 438c0 | 66 65 72 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 73 29 0a | fer.projectile-project-buffers). | 
| 438e0 | 20 20 20 20 20 20 20 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 | ..........(unless.(eq.buffer.(cu | 
| 43900 | 72 72 65 6e 74 2d 62 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 | rrent-buffer)).............(puth | 
| 43920 | 61 73 68 20 62 75 66 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 | ash.buffer.t.other-project-buffe | 
| 43940 | 72 73 29 29 29 0a 20 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 | rs))).........(when.(cdr-safe.pr | 
| 43960 | 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 0a 20 20 20 20 20 20 | ojectile-project-buffers)....... | 
| 43980 | 20 20 20 20 28 77 68 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 | ....(while.(and.(<.counter.max-i | 
| 439a0 | 74 65 72 61 74 69 6f 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 | terations)...................... | 
| 439c0 | 20 28 6e 6f 74 20 28 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 | .(not.(gethash.(current-buffer). | 
| 439e0 | 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 20 20 20 20 20 20 | other-project-buffers)))........ | 
| 43a00 | 20 20 20 20 20 28 61 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 | .....(apply.orig-fun.args)...... | 
| 43a20 | 20 20 20 20 20 20 20 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 | .......(cl-incf.counter))))..... | 
| 43a40 | 28 61 70 70 6c 79 20 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 | (apply.orig-fun.args)))..(defun. | 
| 43a60 | 70 72 6f 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 20 28 | projectile-next-project-buffer.( | 
| 43a80 | 29 0a 20 20 22 49 6e 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 | )..."In.selected.window.switch.t | 
| 43aa0 | 6f 20 74 68 65 20 6e 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 | o.the.next.project.buffer...If.t | 
| 43ac0 | 68 65 20 63 75 72 72 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 | he.current.buffer.does.not.belon | 
| 43ae0 | 67 20 74 6f 20 61 20 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 | g.to.a.project,.call.`next-buffe | 
| 43b00 | 72 27 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 | r'."...(interactive)...(projecti | 
| 43b20 | 6c 65 2d 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 | le--repeat-until-project-buffer. | 
| 43b40 | 23 27 6e 65 78 74 2d 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 | #'next-buffer))..(defun.projecti | 
| 43b60 | 6c 65 2d 70 72 65 76 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 | le-previous-project-buffer.()... | 
| 43b80 | 22 49 6e 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 | "In.selected.window.switch.to.th | 
| 43ba0 | 65 20 70 72 65 76 69 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 | e.previous.project.buffer...If.t | 
| 43bc0 | 68 65 20 63 75 72 72 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 | he.current.buffer.does.not.belon | 
| 43be0 | 67 20 74 6f 20 61 20 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 | g.to.a.project,.call.`previous-b | 
| 43c00 | 75 66 66 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 70 72 6f 6a | uffer'."...(interactive)...(proj | 
| 43c20 | 65 63 74 69 6c 65 2d 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 | ectile--repeat-until-project-buf | 
| 43c40 | 66 65 72 20 23 27 70 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 | fer.#'previous-buffer))....;;;.E | 
| 43c60 | 64 69 74 69 6e 67 20 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 | diting.a.project's..dir-locals.( | 
| 43c80 | 64 65 66 75 6e 20 70 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 | defun.projectile-read-variable.( | 
| 43ca0 | 29 0a 20 20 22 50 72 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 | )..."Prompt.for.a.variable.and.r | 
| 43cc0 | 65 74 75 72 6e 20 69 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 | eturn.its.name."...(completing-r | 
| 43ce0 | 65 61 64 20 22 56 61 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 | ead."Variable:."................ | 
| 43d00 | 20 20 20 20 6f 62 61 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 | ....obarray....................( | 
| 43d20 | 6c 61 6d 62 64 61 20 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 | lambda.(v)...................... | 
| 43d40 | 28 61 6e 64 20 28 62 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 | (and.(boundp.v).(not.(keywordp.v | 
| 43d60 | 29 29 29 29 0a 20 20 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 | ))))....................t))..(de | 
| 43d80 | 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 6c 2d 76 61 | fine-skeleton.projectile-skel-va | 
| 43da0 | 72 69 61 62 6c 65 2d 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 | riable-cons..."Insert.a.variable | 
| 43dc0 | 2d 6e 61 6d 65 20 61 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 | -name.and.a.value.in.a.cons-cell | 
| 43de0 | 2e 22 0a 20 20 22 56 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 | ."..."Value:."..."("...(projecti | 
| 43e00 | 6c 65 2d 72 65 61 64 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 | le-read-variable)..."..."...str. | 
| 43e20 | 20 20 22 29 22 29 0a 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 | ..")")..(define-skeleton.project | 
| 43e40 | 69 6c 65 2d 73 6b 65 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 | ile-skel-dir-locals..."Insert.a. | 
| 43e60 | 2e 64 69 72 2d 6c 6f 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 | .dir-locals.el.template."...nil. | 
| 43e80 | 20 20 22 28 28 6e 69 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 | .."((nil...("...("".'(projectile | 
| 43ea0 | 2d 73 6b 65 6c 2d 76 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 | -skel-variable-cons).\n)...resum | 
| 43ec0 | 65 3a 0a 20 20 22 29 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 | e:...")))")..;;;###autoload.(def | 
| 43ee0 | 75 6e 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 20 28 29 | un.projectile-edit-dir-locals.() | 
| 43f00 | 0a 20 20 22 45 64 69 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 | ..."Edit.or.create.a..dir-locals | 
| 43f20 | 2e 65 6c 20 66 69 6c 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 | .el.file.of.the.project."...(int | 
| 43f40 | 65 72 61 63 74 69 76 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 | eractive)...(let.((file.(expand- | 
| 43f60 | 66 69 6c 65 2d 6e 61 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 | file-name.".dir-locals.el".(proj | 
| 43f80 | 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 20 28 66 69 6e | ectile-acquire-root)))).....(fin | 
| 43fa0 | 64 2d 66 69 6c 65 20 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 | d-file.file).....(when.(not.(fil | 
| 43fc0 | 65 2d 65 78 69 73 74 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 | e-exists-p.file)).......(unwind- | 
| 43fe0 | 70 72 6f 74 65 63 74 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 | protect...........(projectile-sk | 
| 44000 | 65 6c 2d 64 69 72 2d 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 | el-dir-locals).........(save-buf | 
| 44020 | 66 65 72 29 29 29 29 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 | fer)))))....;;;.Projectile.Minor | 
| 44040 | 20 6d 6f 64 65 0a 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 | .mode..(defcustom.projectile-mod | 
| 44060 | 65 2d 6c 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 | e-line-prefix...".Projectile"... | 
| 44080 | 22 4d 6f 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 | "Mode.line.lighter.prefix.for.Pr | 
| 440a0 | 6f 6a 65 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 | ojectile..It's.used.by.`projecti | 
| 440c0 | 6c 65 2d 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 | le-default-mode-line'.when.using | 
| 440e0 | 20 64 79 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 | .dynamic.mode.line.lighter.and.i | 
| 44100 | 73 20 74 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 | s.the.only.thing.shown.in.the.mo | 
| 44120 | 64 65 20 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 | de.line.otherwise."...:group.'pr | 
| 44140 | 6f 6a 65 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 | ojectile...:type.'string...:pack | 
| 44160 | 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 31 32 | age-version.'(projectile..."0.12 | 
| 44180 | 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 73 68 6f | .0"))..(defcustom.projectile-sho | 
| 441a0 | 77 2d 6d 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 | w-menu.t..."Controls.whether.to. | 
| 441c0 | 64 69 73 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 | display.Projectile's.menu."...:g | 
| 441e0 | 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 | 
| 44200 | 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 | 
| 44220 | 65 20 2e 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 | e..."2.6.0"))..(defvar-local.pro | 
| 44240 | 6a 65 63 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 | jectile--mode-line.projectile-mo | 
| 44260 | 64 65 2d 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 | de-line-prefix)..(defun.projecti | 
| 44280 | 6c 65 2d 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 | le-default-mode-line.()..."Repor | 
| 442a0 | 74 20 70 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 | t.project.name.and.type.in.the.m | 
| 442c0 | 6f 64 65 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 | odeline."...(let.((project-name. | 
| 442e0 | 28 70 72 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 | (projectile-project-name))...... | 
| 44300 | 20 20 20 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 | ...(project-type.(projectile-pro | 
| 44320 | 6a 65 63 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 | ject-type))).....(format."%s[%s% | 
| 44340 | 73 5d 22 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 | s]".............projectile-mode- | 
| 44360 | 6c 69 6e 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 | line-prefix.............(or.proj | 
| 44380 | 65 63 74 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 | ect-name."-").............(if.pr | 
| 443a0 | 6f 6a 65 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 | oject-type.................(form | 
| 443c0 | 61 74 20 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 | at.":%s".project-type).......... | 
| 443e0 | 20 20 20 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 | .....""))))..(defun.projectile-u | 
| 44400 | 70 64 61 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 | pdate-mode-line.()..."Update.the | 
| 44420 | 20 50 72 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 | .Projectile.mode-line."...(let.( | 
| 44440 | 28 6d 6f 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 | (mode-line.(funcall.projectile-m | 
| 44460 | 6f 64 65 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 | ode-line-function))).....(setq.p | 
| 44480 | 72 6f 6a 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 | rojectile--mode-line.mode-line)) | 
| 444a0 | 0a 20 20 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 | ...(force-mode-line-update))..(d | 
| 444c0 | 65 66 76 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 | efvar.projectile-command-map...( | 
| 444e0 | 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 29 29 | let.((map.(make-sparse-keymap))) | 
| 44500 | 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 34 20 61 22 29 | .....(define-key.map.(kbd."4.a") | 
| 44520 | 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 6c 65 2d 6f 74 | .#'projectile-find-other-file-ot | 
| 44540 | 68 65 72 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 | her-window).....(define-key.map. | 
| 44560 | 28 6b 62 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 | (kbd."4.b").#'projectile-switch- | 
| 44580 | 74 6f 2d 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 | to-buffer-other-window).....(def | 
| 445a0 | 69 6e 65 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 | ine-key.map.(kbd."4.C-o").#'proj | 
| 445c0 | 65 63 74 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 | ectile-display-buffer).....(defi | 
| 445e0 | 6e 65 2d 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 | ne-key.map.(kbd."4.d").#'project | 
| 44600 | 69 6c 65 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 | ile-find-dir-other-window).....( | 
| 44620 | 64 65 66 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 | define-key.map.(kbd."4.D").#'pro | 
| 44640 | 6a 65 63 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 | jectile-dired-other-window)..... | 
| 44660 | 28 64 65 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 | (define-key.map.(kbd."4.f").#'pr | 
| 44680 | 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 6e 64 6f 77 29 | ojectile-find-file-other-window) | 
| 446a0 | 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 34 20 67 22 29 | .....(define-key.map.(kbd."4.g") | 
| 446c0 | 20 23 27 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 | .#'projectile-find-file-dwim-oth | 
| 446e0 | 65 72 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 | er-window).....(define-key.map.( | 
| 44700 | 6b 62 64 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 | kbd."4.t").#'projectile-find-imp | 
| 44720 | 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 64 6f 77 | lementation-or-test-other-window | 
| 44740 | 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 61 22 | ).....(define-key.map.(kbd."5.a" | 
| 44760 | 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 6c 65 2d 6f | ).#'projectile-find-other-file-o | 
| 44780 | 74 68 65 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 | ther-frame).....(define-key.map. | 
| 447a0 | 28 6b 62 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 | (kbd."5.b").#'projectile-switch- | 
| 447c0 | 74 6f 2d 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 | to-buffer-other-frame).....(defi | 
| 447e0 | 6e 65 2d 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 | ne-key.map.(kbd."5.d").#'project | 
| 44800 | 69 6c 65 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 | ile-find-dir-other-frame).....(d | 
| 44820 | 65 66 69 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 | efine-key.map.(kbd."5.D").#'proj | 
| 44840 | 65 63 74 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 | ectile-dired-other-frame).....(d | 
| 44860 | 65 66 69 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 | efine-key.map.(kbd."5.f").#'proj | 
| 44880 | 65 63 74 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 | ectile-find-file-other-frame)... | 
| 448a0 | 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 67 22 29 20 23 27 | ..(define-key.map.(kbd."5.g").#' | 
| 448c0 | 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- | 
| 448e0 | 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 64 20 | frame).....(define-key.map.(kbd. | 
| 44900 | 22 35 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 65 | "5.t").#'projectile-find-impleme | 
| 44920 | 6e 74 61 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 | ntation-or-test-other-frame).... | 
| 44940 | 20 28 64 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 | .(define-key.map.(kbd."!").#'pro | 
| 44960 | 6a 65 63 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 | jectile-run-shell-command-in-roo | 
| 44980 | 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 62 64 20 22 26 22 29 | t).....(define-key.map.(kbd."&") | 
| 449a0 | 20 23 27 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 | .#'projectile-run-async-shell-co | 
| 449c0 | 6d 6d 61 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 | mmand-in-root).....(define-key.m | 
| 449e0 | 61 70 20 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 | ap.(kbd."?").#'projectile-find-r | 
| 44a00 | 65 66 65 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 | eferences).....(define-key.map.( | 
| 44a20 | 6b 62 64 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 | kbd."a").#'projectile-find-other | 
| 44a40 | 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 70 20 28 6b 62 64 20 | -file).....(define-key.map.(kbd. | 
| 44a60 | 22 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 62 75 66 66 | "b").#'projectile-switch-to-buff | 
| 44a80 | 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 64 20 22 64 22 | er).....(define-key.map.(kbd."d" | 
| 44aa0 | 29 20 23 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 | ).#'projectile-find-dir).....(de | 
| 44ac0 | 66 69 6e 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 | fine-key.map.(kbd."D").#'project | 
| 44ae0 | 69 6c 65 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 | ile-dired).....(define-key.map.( | 
| 44b00 | 6b 62 64 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 | kbd."e").#'projectile-recentf).. | 
| 44b20 | 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 45 22 29 20 23 27 70 | ...(define-key.map.(kbd."E").#'p | 
| 44b40 | 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 29 0a 20 20 20 20 28 | rojectile-edit-dir-locals).....( | 
| 44b60 | 64 65 66 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 | define-key.map.(kbd."f").#'proje | 
| 44b80 | 63 74 69 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 | ctile-find-file).....(define-key | 
| 44ba0 | 20 6d 61 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 | .map.(kbd."g").#'projectile-find | 
| 44bc0 | 2d 66 69 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 | -file-dwim).....(define-key.map. | 
| 44be0 | 28 6b 62 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 | (kbd."F").#'projectile-find-file | 
| 44c00 | 2d 69 6e 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 73 29 0a 20 20 20 20 3b 3b 20 74 68 65 20 68 | -in-known-projects).....;;.the.h | 
| 44c20 | 20 6b 65 79 20 69 73 20 72 65 73 65 72 76 65 64    20 66 6f 72 20 68 65 6c 6d 2d 70 72 6f 6a 65 63 | .key.is.reserved.for.helm-projec | 
| 44c40 | 74 69 6c 65 0a 20 20 20 20 3b 3b 20 74 68 65 20    62 69 6e 64 69 6e 67 20 62 65 6c 6f 77 20 77 69 | tile.....;;.the.binding.below.wi | 
| 44c60 | 6c 6c 20 62 65 20 61 64 64 65 64 20 77 68 65 6e    20 68 65 6c 6d 2d 70 72 6f 6a 65 63 74 69 6c 65 | ll.be.added.when.helm-projectile | 
| 44c80 | 20 69 73 20 65 6e 61 62 6c 65 64 0a 20 20 20 20    3b 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 70 | .is.enabled.....;;.(define-key.p | 
| 44ca0 | 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e    64 2d 6d 61 70 20 28 6b 62 64 20 22 68 22 29 20 | rojectile-command-map.(kbd."h"). | 
| 44cc0 | 23 27 68 65 6c 6d 2d 70 72 6f 6a 65 63 74 69 6c    65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b | #'helm-projectile).....(define-k | 
| 44ce0 | 65 79 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 | ey.map.(kbd."i").#'projectile-in | 
| 44d00 | 76 61 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 | validate-cache).....(define-key. | 
| 44d20 | 6d 61 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 | map.(kbd."I").#'projectile-ibuff | 
| 44d40 | 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 64 20 22 6a 22 | er).....(define-key.map.(kbd."j" | 
| 44d60 | 29 20 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 | ).#'projectile-find-tag).....(de | 
| 44d80 | 66 69 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 | fine-key.map.(kbd."k").#'project | 
| 44da0 | 69 6c 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 | ile-kill-buffers).....(define-ke | 
| 44dc0 | 79 20 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 | y.map.(kbd."l").#'projectile-fin | 
| 44de0 | 64 2d 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 | d-file-in-directory).....(define | 
| 44e00 | 2d 6b 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 | -key.map.(kbd."m").#'projectile- | 
| 44e20 | 63 6f 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 | commander).....(define-key.map.( | 
| 44e40 | 6b 62 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 | kbd."o").#'projectile-multi-occu | 
| 44e60 | 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 64 20 22 70 22 29 | r).....(define-key.map.(kbd."p") | 
| 44e80 | 20 23 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 | .#'projectile-switch-project)... | 
| 44ea0 | 20 20 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 | ..(define-key.map.(kbd."q").#'pr | 
| 44ec0 | 6f 6a 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 | ojectile-switch-open-project)... | 
| 44ee0 | 20 20 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 | ..(define-key.map.(kbd."r").#'pr | 
| 44f00 | 6f 6a 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 | ojectile-replace).....(define-ke | 
| 44f20 | 79 20 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 | y.map.(kbd."R").#'projectile-reg | 
| 44f40 | 65 6e 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 | enerate-tags).....(define-key.ma | 
| 44f60 | 70 20 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 | p.(kbd."s.g").#'projectile-grep) | 
| 44f80 | 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 73 20 72 22 29 | .....(define-key.map.(kbd."s.r") | 
| 44fa0 | 20 23 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 | .#'projectile-ripgrep).....(defi | 
| 44fc0 | 6e 65 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 | ne-key.map.(kbd."s.s").#'project | 
| 44fe0 | 69 6c 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 | ile-ag).....(define-key.map.(kbd | 
| 45000 | 20 22 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 | ."s.x").#'projectile-find-refere | 
| 45020 | 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 20 22 | nces).....(define-key.map.(kbd." | 
| 45040 | 53 22 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 | S").#'projectile-save-project-bu | 
| 45060 | 66 66 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 | ffers).....(define-key.map.(kbd. | 
| 45080 | 22 74 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 | "t").#'projectile-toggle-between | 
| 450a0 | 2d 69 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 | -implementation-and-test).....(d | 
| 450c0 | 65 66 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 | efine-key.map.(kbd."T").#'projec | 
| 450e0 | 74 69 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 | tile-find-test-file).....(define | 
| 45100 | 2d 6b 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 | -key.map.(kbd."v").#'projectile- | 
| 45120 | 76 63 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 | vc).....(define-key.map.(kbd."V" | 
| 45140 | 29 20 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 | ).#'projectile-browse-dirty-proj | 
| 45160 | 65 63 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 | ects).....;;.project.lifecycle.e | 
| 45180 | 78 74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73    0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | xternal.commands.....(define-key | 
| 451a0 | 20 6d 61 70 20 28 6b 62 64 20 22 63 20 6f 22 29    20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f | .map.(kbd."c.o").#'projectile-co | 
| 451c0 | 6e 66 69 67 75 72 65 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 | nfigure-project).....(define-key | 
| 451e0 | 20 6d 61 70 20 28 6b 62 64 20 22 63 20 63 22 29    20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f | .map.(kbd."c.c").#'projectile-co | 
| 45200 | 6d 70 69 6c 65 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 | mpile-project).....(define-key.m | 
| 45220 | 61 70 20 28 6b 62 64 20 22 63 20 70 22 29 20 23    27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 63 6b | ap.(kbd."c.p").#'projectile-pack | 
| 45240 | 61 67 65 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 | age-project).....(define-key.map | 
| 45260 | 20 28 6b 62 64 20 22 63 20 69 22 29 20 23 27 70    72 6f 6a 65 63 74 69 6c 65 2d 69 6e 73 74 61 6c | .(kbd."c.i").#'projectile-instal | 
| 45280 | 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 20 6d 61 70 20 28 | l-project).....(define-key.map.( | 
| 452a0 | 6b 62 64 20 22 63 20 74 22 29 20 23 27 70 72 6f    6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 70 72 6f | kbd."c.t").#'projectile-test-pro | 
| 452c0 | 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 62 64 20 22 | ject).....(define-key.map.(kbd." | 
| 452e0 | 63 20 72 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 29 0a | c.r").#'projectile-run-project). | 
| 45300 | 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 4c 65 67    61 63 79 20 6b 65 79 62 69 6e 64 69 6e 67 73 20 | ....;;.TODO:.Legacy.keybindings. | 
| 45320 | 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 6d    6f 76 65 64 20 69 6e 20 50 72 6f 6a 65 63 74 69 | that.will.be.removed.in.Projecti | 
| 45340 | 6c 65 20 33 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 43 | le.3.....(define-key.map.(kbd."C | 
| 45360 | 22 29 20 23 27 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 | ").#'projectile-configure-projec | 
| 45380 | 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 62 64 20 22 4b 22 29 | t).....(define-key.map.(kbd."K") | 
| 453a0 | 20 23 27 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 29 0a 20 | .#'projectile-package-project).. | 
| 453c0 | 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 4c 22 29 20 23 27 70 | ...(define-key.map.(kbd."L").#'p | 
| 453e0 | 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 29 0a 20 20 20 20 28 | rojectile-install-project).....( | 
| 45400 | 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28    6b 62 64 20 22 50 22 29 20 23 27 70 72 6f 6a 65 | define-key.map.(kbd."P").#'proje | 
| 45420 | 63 74 69 6c 65 2d 74 65 73 74 2d 70 72 6f 6a 65    63 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | ctile-test-project).....(define- | 
| 45440 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 75 22    29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 72 | key.map.(kbd."u").#'projectile-r | 
| 45460 | 75 6e 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 20    3b 3b 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 77 | un-project).....;;.integration.w | 
| 45480 | 69 74 68 20 75 74 69 6c 69 74 69 65 73 0a 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 | ith.utilities.....(define-key.ma | 
| 454a0 | 70 20 28 6b 62 64 20 22 78 20 65 22 29 20 23 27    70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 65 | p.(kbd."x.e").#'projectile-run-e | 
| 454c0 | 73 68 65 6c 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 | shell).....(define-key.map.(kbd. | 
| 454e0 | 22 78 20 69 22 29 20 23 27 70 72 6f 6a 65 63 74    69 6c 65 2d 72 75 6e 2d 69 65 6c 6d 29 0a 20 20 | "x.i").#'projectile-run-ielm)... | 
| 45500 | 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 74 22 29 20 23 27 | ..(define-key.map.(kbd."x.t").#' | 
| 45520 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 74    65 72 6d 29 0a 20 20 20 20 28 64 65 66 69 6e 65 | projectile-run-term).....(define | 
| 45540 | 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 78    20 73 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c | -key.map.(kbd."x.s").#'projectil | 
| 45560 | 65 2d 72 75 6e 2d 73 68 65 6c 6c 29 0a 20 20 20    20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 | e-run-shell).....(define-key.map | 
| 45580 | 20 28 6b 62 64 20 22 78 20 67 22 29 20 23 27 70    72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 67 64 | .(kbd."x.g").#'projectile-run-gd | 
| 455a0 | 62 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 76 | b).....(define-key.map.(kbd."x.v | 
| 455c0 | 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d    72 75 6e 2d 76 74 65 72 6d 29 0a 20 20 20 20 28 | ").#'projectile-run-vterm).....( | 
| 455e0 | 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28    6b 62 64 20 22 78 20 34 20 76 22 29 20 23 27 70 | define-key.map.(kbd."x.4.v").#'p | 
| 45600 | 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 76 74    65 72 6d 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 | rojectile-run-vterm-other-window | 
| 45620 | 29 0a 20 20 20 20 3b 3b 20 6d 69 73 63 0a 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 | ).....;;.misc.....(define-key.ma | 
| 45640 | 70 20 28 6b 62 64 20 22 7a 22 29 20 23 27 70 72    6f 6a 65 63 74 69 6c 65 2d 63 61 63 68 65 2d 63 | p.(kbd."z").#'projectile-cache-c | 
| 45660 | 75 72 72 65 6e 74 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 70 | urrent-file).....(define-key.map | 
| 45680 | 20 28 6b 62 64 20 22 3c 6c 65 66 74 3e 22 29 20    23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 65 | .(kbd."<left>").#'projectile-pre | 
| 456a0 | 76 69 6f 75 73 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 | vious-project-buffer).....(defin | 
| 456c0 | 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22    3c 72 69 67 68 74 3e 22 29 20 23 27 70 72 6f 6a | e-key.map.(kbd."<right>").#'proj | 
| 456e0 | 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 29 0a 20 20 20 20 | ectile-next-project-buffer)..... | 
| 45700 | 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20    28 6b 62 64 20 22 45 53 43 22 29 20 23 27 70 72 | (define-key.map.(kbd."ESC").#'pr | 
| 45720 | 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 6f 74 68 65 72 2d 62 | ojectile-project-buffers-other-b | 
| 45740 | 75 66 66 65 72 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 | uffer).....map)..."Keymap.for.Pr | 
| 45760 | 6f 6a 65 63 74 69 6c 65 20 63 6f 6d 6d 61 6e 64    73 20 61 66 74 65 72 20 60 70 72 6f 6a 65 63 74 | ojectile.commands.after.`project | 
| 45780 | 69 6c 65 2d 6b 65 79 6d 61 70 2d 70 72 65 66 69    78 27 2e 22 29 0a 28 66 73 65 74 20 27 70 72 6f | ile-keymap-prefix'.").(fset.'pro | 
| 457a0 | 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 2d    6d 61 70 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | jectile-command-map.projectile-c | 
| 457c0 | 6f 6d 6d 61 6e 64 2d 6d 61 70 29 0a 0a 28 64 65    66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ommand-map)..(defvar.projectile- | 
| 457e0 | 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20    28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 | mode-map...(let.((map.(make-spar | 
| 45800 | 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20    20 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 6c | se-keymap))).....(when.projectil | 
| 45820 | 65 2d 6b 65 79 6d 61 70 2d 70 72 65 66 69 78 0a    20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 | e-keymap-prefix.......(define-ke | 
| 45840 | 79 20 6d 61 70 20 70 72 6f 6a 65 63 74 69 6c 65    2d 6b 65 79 6d 61 70 2d 70 72 65 66 69 78 20 27 | y.map.projectile-keymap-prefix.' | 
| 45860 | 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61    6e 64 2d 6d 61 70 29 29 0a 20 20 20 20 28 65 61 | projectile-command-map)).....(ea | 
| 45880 | 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 70    72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d 6d | sy-menu-define.projectile-mode-m | 
| 458a0 | 65 6e 75 20 6d 61 70 0a 20 20 20 20 20 20 22 4d    65 6e 75 20 66 6f 72 20 50 72 6f 6a 65 63 74 69 | enu.map......."Menu.for.Projecti | 
| 458c0 | 6c 65 22 0a 20 20 20 20 20 20 27 28 22 50 72 6f    6a 65 63 74 69 6c 65 22 20 3a 76 69 73 69 62 6c | le".......'("Projectile".:visibl | 
| 458e0 | 65 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 68 6f    77 2d 6d 65 6e 75 0a 20 20 20 20 20 20 20 20 28 | e.projectile-show-menu.........( | 
| 45900 | 22 46 69 6e 64 2e 2e 2e 22 0a 20 20 20 20 20 20    20 20 20 5b 22 46 69 6e 64 20 66 69 6c 65 22 20 | "Find..."..........["Find.file". | 
| 45920 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d    66 69 6c 65 5d 0a 20 20 20 20 20 20 20 20 20 5b | projectile-find-file]..........[ | 
| 45940 | 22 46 69 6e 64 20 66 69 6c 65 20 69 6e 20 6b 6e    6f 77 6e 20 70 72 6f 6a 65 63 74 73 22 20 70 72 | "Find.file.in.known.projects".pr | 
| 45960 | 6f 6a 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 | ojectile-find-file-in-known-proj | 
| 45980 | 65 63 74 73 5d 0a 20 20 20 20 20 20 20 20 20 5b    22 46 69 6e 64 20 74 65 73 74 20 66 69 6c 65 22 | ects]..........["Find.test.file" | 
| 459a0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64    2d 74 65 73 74 2d 66 69 6c 65 5d 0a 20 20 20 20 | .projectile-find-test-file]..... | 
| 459c0 | 20 20 20 20 20 5b 22 46 69 6e 64 20 64 69 72 65    63 74 6f 72 79 22 20 70 72 6f 6a 65 63 74 69 6c | .....["Find.directory".projectil | 
| 459e0 | 65 2d 66 69 6e 64 2d 64 69 72 5d 0a 20 20 20 20    20 20 20 20 20 5b 22 46 69 6e 64 20 66 69 6c 65 | e-find-dir]..........["Find.file | 
| 45a00 | 20 69 6e 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 66 | .in.directory".projectile-find-f | 
| 45a20 | 69 6c 65 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 46 69 6e | ile-in-directory]..........["Fin | 
| 45a40 | 64 20 6f 74 68 65 72 20 66 69 6c 65 22 20 70 72    6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 6f 74 | d.other.file".projectile-find-ot | 
| 45a60 | 68 65 72 2d 66 69 6c 65 5d 0a 20 20 20 20 20 20    20 20 20 5b 22 4a 75 6d 70 20 62 65 74 77 65 65 | her-file]..........["Jump.betwee | 
| 45a80 | 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e    20 66 69 6c 65 20 61 6e 64 20 74 65 73 74 20 66 | n.implementation.file.and.test.f | 
| 45aa0 | 69 6c 65 22 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 | ile".projectile-toggle-between-i | 
| 45ac0 | 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 61 6e    64 2d 74 65 73 74 5d 29 0a 20 20 20 20 20 20 20 | mplementation-and-test])........ | 
| 45ae0 | 20 28 22 42 75 66 66 65 72 73 22 0a 20 20 20 20    20 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f | .("Buffers"..........["Switch.to | 
| 45b00 | 20 62 75 66 66 65 72 22 20 70 72 6f 6a 65 63 74    69 6c 65 2d 73 77 69 74 63 68 2d 74 6f 2d 62 75 | .buffer".projectile-switch-to-bu | 
| 45b20 | 66 66 65 72 5d 0a 20 20 20 20 20 20 20 20 20 5b    22 4b 69 6c 6c 20 70 72 6f 6a 65 63 74 20 62 75 | ffer]..........["Kill.project.bu | 
| 45b40 | 66 66 65 72 73 22 20 70 72 6f 6a 65 63 74 69 6c    65 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 73 5d 0a | ffers".projectile-kill-buffers]. | 
| 45b60 | 20 20 20 20 20 20 20 20 20 5b 22 53 61 76 65 20    70 72 6f 6a 65 63 74 20 62 75 66 66 65 72 73 22 | .........["Save.project.buffers" | 
| 45b80 | 20 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 65 72 73 | .projectile-save-project-buffers | 
| 45ba0 | 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 52 65 63    65 6e 74 20 66 69 6c 65 73 22 20 70 72 6f 6a 65 | ]..........["Recent.files".proje | 
| 45bc0 | 63 74 69 6c 65 2d 72 65 63 65 6e 74 66 5d 0a 20    20 20 20 20 20 20 20 20 5b 22 50 72 65 76 69 6f | ctile-recentf]..........["Previo | 
| 45be0 | 75 73 20 62 75 66 66 65 72 22 20 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 65 76 69 6f 75 73 2d 70 | us.buffer".projectile-previous-p | 
| 45c00 | 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 5d 0a 20    20 20 20 20 20 20 20 20 5b 22 4e 65 78 74 20 62 | roject-buffer]..........["Next.b | 
| 45c20 | 75 66 66 65 72 22 20 70 72 6f 6a 65 63 74 69 6c    65 2d 6e 65 78 74 2d 70 72 6f 6a 65 63 74 2d 62 | uffer".projectile-next-project-b | 
| 45c40 | 75 66 66 65 72 5d 29 0a 20 20 20 20 20 20 20 20    28 22 50 72 6f 6a 65 63 74 73 22 0a 20 20 20 20 | uffer]).........("Projects"..... | 
| 45c60 | 20 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f    20 70 72 6f 6a 65 63 74 22 20 70 72 6f 6a 65 63 | .....["Switch.to.project".projec | 
| 45c80 | 74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a    65 63 74 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 | tile-switch-project]..........[" | 
| 45ca0 | 53 77 69 74 63 68 20 74 6f 20 6f 70 65 6e 20 70    72 6f 6a 65 63 74 22 20 70 72 6f 6a 65 63 74 69 | Switch.to.open.project".projecti | 
| 45cc0 | 6c 65 2d 73 77 69 74 63 68 2d 6f 70 65 6e 2d 70    72 6f 6a 65 63 74 5d 0a 20 20 20 20 20 20 20 20 | le-switch-open-project]......... | 
| 45ce0 | 20 22 2d 2d 22 0a 20 20 20 20 20 20 20 20 20 5b    22 44 69 73 63 6f 76 65 72 20 70 72 6f 6a 65 63 | ."--"..........["Discover.projec | 
| 45d00 | 74 73 20 69 6e 20 64 69 72 65 63 74 6f 72 79 22    20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 63 | ts.in.directory".projectile-disc | 
| 45d20 | 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 5d 0a 20 20 20 20 | over-projects-in-directory]..... | 
| 45d40 | 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 73 65 61 72 | .....["Discover.projects.in.sear | 
| 45d60 | 63 68 20 70 61 74 68 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 | ch.path".projectile-discover-pro | 
| 45d80 | 6a 65 63 74 73 2d 69 6e 2d 73 65 61 72 63 68 2d    70 61 74 68 5d 0a 20 20 20 20 20 20 20 20 20 5b | jects-in-search-path]..........[ | 
| 45da0 | 22 43 6c 65 61 72 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 | "Clear.known.projects".projectil | 
| 45dc0 | 65 2d 63 6c 65 61 72 2d 6b 6e 6f 77 6e 2d 70 72    6f 6a 65 63 74 73 5d 0a 20 20 20 20 20 20 20 20 | e-clear-known-projects]......... | 
| 45de0 | 20 5b 22 52 65 73 65 74 20 6b 6e 6f 77 6e 20 70    72 6f 6a 65 63 74 73 22 20 70 72 6f 6a 65 63 74 | .["Reset.known.projects".project | 
| 45e00 | 69 6c 65 2d 72 65 73 65 74 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 5d 0a 20 20 20 20 20 20 | ile-reset-known-projects]....... | 
| 45e20 | 20 20 20 22 2d 2d 22 0a 20 20 20 20 20 20 20 20    20 5b 22 4f 70 65 6e 20 70 72 6f 6a 65 63 74 20 | ..."--"..........["Open.project. | 
| 45e40 | 69 6e 20 64 69 72 65 64 22 20 70 72 6f 6a 65 63    74 69 6c 65 2d 64 69 72 65 64 5d 0a 20 20 20 20 | in.dired".projectile-dired]..... | 
| 45e60 | 20 20 20 20 20 22 2d 2d 22 0a 20 20 20 20 20 20    20 20 20 5b 22 42 72 6f 77 73 65 20 64 69 72 74 | ....."--"..........["Browse.dirt | 
| 45e80 | 79 20 70 72 6f 6a 65 63 74 73 22 20 70 72 6f 6a    65 63 74 69 6c 65 2d 62 72 6f 77 73 65 2d 64 69 | y.projects".projectile-browse-di | 
| 45ea0 | 72 74 79 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 20 20 | rty-projects].........."--"..... | 
| 45ec0 | 20 20 20 20 20 5b 22 43 61 63 68 65 20 63 75 72    72 65 6e 74 20 66 69 6c 65 22 20 70 72 6f 6a 65 | .....["Cache.current.file".proje | 
| 45ee0 | 63 74 69 6c 65 2d 63 61 63 68 65 2d 63 75 72 72    65 6e 74 2d 66 69 6c 65 5d 0a 20 20 20 20 20 20 | ctile-cache-current-file]....... | 
| 45f00 | 20 20 20 5b 22 49 6e 76 61 6c 69 64 61 74 65 20    63 61 63 68 65 22 20 70 72 6f 6a 65 63 74 69 6c | ...["Invalidate.cache".projectil | 
| 45f20 | 65 2d 69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63    68 65 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 52 | e-invalidate-cache]..........["R | 
| 45f40 | 65 67 65 6e 65 72 61 74 65 20 5b 65 7c 67 5d 74    61 67 73 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d | egenerate.[e|g]tags".projectile- | 
| 45f60 | 72 65 67 65 6e 65 72 61 74 65 2d 74 61 67 73 5d    0a 20 20 20 20 20 20 20 20 20 22 2d 2d 22 0a 20 | regenerate-tags].........."--".. | 
| 45f80 | 20 20 20 20 20 20 20 20 5b 22 54 6f 67 67 6c 65    20 70 72 6f 6a 65 63 74 20 77 69 64 65 20 72 65 | ........["Toggle.project.wide.re | 
| 45fa0 | 61 64 2d 6f 6e 6c 79 22 20 70 72 6f 6a 65 63 74    69 6c 65 2d 74 6f 67 67 6c 65 2d 70 72 6f 6a 65 | ad-only".projectile-toggle-proje | 
| 45fc0 | 63 74 2d 72 65 61 64 2d 6f 6e 6c 79 5d 0a 20 20    20 20 20 20 20 20 20 5b 22 45 64 69 74 20 2e 64 | ct-read-only]..........["Edit..d | 
| 45fe0 | 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 22 20 70 72    6f 6a 65 63 74 69 6c 65 2d 65 64 69 74 2d 64 69 | ir-locals.el".projectile-edit-di | 
| 46000 | 72 2d 6c 6f 63 61 6c 73 5d 0a 20 20 20 20 20 20    20 20 20 5b 22 50 72 6f 6a 65 63 74 20 69 6e 66 | r-locals]..........["Project.inf | 
| 46020 | 6f 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 69 6e 66 6f 5d 29 0a 20 20 20 | o".projectile-project-info]).... | 
| 46040 | 20 20 20 20 20 28 22 53 65 61 72 63 68 22 0a 20    20 20 20 20 20 20 20 20 5b 22 53 65 61 72 63 68 | .....("Search"..........["Search | 
| 46060 | 20 77 69 74 68 20 67 72 65 70 22 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 72 65 70 5d 0a 20 20 20 | .with.grep".projectile-grep].... | 
| 46080 | 20 20 20 20 20 20 5b 22 53 65 61 72 63 68 20 77    69 74 68 20 61 67 22 20 70 72 6f 6a 65 63 74 69 | ......["Search.with.ag".projecti | 
| 460a0 | 6c 65 2d 61 67 5d 0a 20 20 20 20 20 20 20 20 20    5b 22 53 65 61 72 63 68 20 77 69 74 68 20 72 69 | le-ag]..........["Search.with.ri | 
| 460c0 | 70 67 72 65 70 22 20 70 72 6f 6a 65 63 74 69 6c    65 2d 72 69 70 67 72 65 70 5d 0a 20 20 20 20 20 | pgrep".projectile-ripgrep]...... | 
| 460e0 | 20 20 20 20 5b 22 52 65 70 6c 61 63 65 20 69 6e    20 70 72 6f 6a 65 63 74 22 20 70 72 6f 6a 65 63 | ....["Replace.in.project".projec | 
| 46100 | 74 69 6c 65 2d 72 65 70 6c 61 63 65 5d 0a 20 20    20 20 20 20 20 20 20 5b 22 4d 75 6c 74 69 2d 6f | tile-replace]..........["Multi-o | 
| 46120 | 63 63 75 72 20 69 6e 20 70 72 6f 6a 65 63 74 22    20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 75 6c 74 | ccur.in.project".projectile-mult | 
| 46140 | 69 2d 6f 63 63 75 72 5d 0a 20 20 20 20 20 20 20    20 20 5b 22 46 69 6e 64 20 72 65 66 65 72 65 6e | i-occur]..........["Find.referen | 
| 46160 | 63 65 73 20 69 6e 20 70 72 6f 6a 65 63 74 22 20    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d | ces.in.project".projectile-find- | 
| 46180 | 72 65 66 65 72 65 6e 63 65 73 5d 29 0a 20 20 20    20 20 20 20 20 28 22 52 75 6e 2e 2e 2e 22 0a 20 | references]).........("Run...".. | 
| 461a0 | 20 20 20 20 20 20 20 20 5b 22 52 75 6e 20 73 68    65 6c 6c 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ........["Run.shell".projectile- | 
| 461c0 | 72 75 6e 2d 73 68 65 6c 6c 5d 0a 20 20 20 20 20    20 20 20 20 5b 22 52 75 6e 20 65 73 68 65 6c 6c | run-shell]..........["Run.eshell | 
| 461e0 | 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e    2d 65 73 68 65 6c 6c 5d 0a 20 20 20 20 20 20 20 | ".projectile-run-eshell]........ | 
| 46200 | 20 20 5b 22 52 75 6e 20 69 65 6c 6d 22 20 70 72    6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 69 65 6c | ..["Run.ielm".projectile-run-iel | 
| 46220 | 6d 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 52 75    6e 20 74 65 72 6d 22 20 70 72 6f 6a 65 63 74 69 | m]..........["Run.term".projecti | 
| 46240 | 6c 65 2d 72 75 6e 2d 74 65 72 6d 5d 0a 20 20 20    20 20 20 20 20 20 5b 22 52 75 6e 20 76 74 65 72 | le-run-term]..........["Run.vter | 
| 46260 | 6d 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75    6e 2d 76 74 65 72 6d 5d 0a 20 20 20 20 20 20 20 | m".projectile-run-vterm]........ | 
| 46280 | 20 20 22 2d 2d 22 0a 20 20 20 20 20 20 20 20 20    5b 22 52 75 6e 20 47 44 42 22 20 70 72 6f 6a 65 | .."--"..........["Run.GDB".proje | 
| 462a0 | 63 74 69 6c 65 2d 72 75 6e 2d 67 64 62 5d 29 0a    20 20 20 20 20 20 20 20 28 22 42 75 69 6c 64 22 | ctile-run-gdb]).........("Build" | 
| 462c0 | 0a 20 20 20 20 20 20 20 20 20 5b 22 43 6f 6e 66    69 67 75 72 65 20 70 72 6f 6a 65 63 74 22 20 70 | ..........["Configure.project".p | 
| 462e0 | 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 5d 0a 20 20 20 | rojectile-configure-project].... | 
| 46300 | 20 20 20 20 20 20 5b 22 43 6f 6d 70 69 6c 65 20    70 72 6f 6a 65 63 74 22 20 70 72 6f 6a 65 63 74 | ......["Compile.project".project | 
| 46320 | 69 6c 65 2d 63 6f 6d 70 69 6c 65 2d 70 72 6f 6a    65 63 74 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 | ile-compile-project]..........[" | 
| 46340 | 54 65 73 74 20 70 72 6f 6a 65 63 74 22 20 70 72    6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 70 72 | Test.project".projectile-test-pr | 
| 46360 | 6f 6a 65 63 74 5d 0a 20 20 20 20 20 20 20 20 20    5b 22 49 6e 73 74 61 6c 6c 20 70 72 6f 6a 65 63 | oject]..........["Install.projec | 
| 46380 | 74 22 20 70 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 5d 0a 20 | t".projectile-install-project].. | 
| 463a0 | 20 20 20 20 20 20 20 20 5b 22 50 61 63 6b 61 67    65 20 70 72 6f 6a 65 63 74 22 20 70 72 6f 6a 65 | ........["Package.project".proje | 
| 463c0 | 63 74 69 6c 65 2d 70 61 63 6b 61 67 65 2d 70 72    6f 6a 65 63 74 5d 0a 20 20 20 20 20 20 20 20 20 | ctile-package-project].......... | 
| 463e0 | 5b 22 52 75 6e 20 70 72 6f 6a 65 63 74 22 20 70    72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 70 72 | ["Run.project".projectile-run-pr | 
| 46400 | 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 20 20 20 20 20 5b 22 | oject].........."--"..........[" | 
| 46420 | 52 65 70 65 61 74 20 6c 61 73 74 20 62 75 69 6c    64 20 63 6f 6d 6d 61 6e 64 22 20 70 72 6f 6a 65 | Repeat.last.build.command".proje | 
| 46440 | 63 74 69 6c 65 2d 72 65 70 65 61 74 2d 6c 61 73    74 2d 63 6f 6d 6d 61 6e 64 5d 29 0a 20 20 20 20 | ctile-repeat-last-command])..... | 
| 46460 | 20 20 20 20 22 2d 2d 22 0a 20 20 20 20 20 20 20    20 5b 22 41 62 6f 75 74 22 20 70 72 6f 6a 65 63 | ...."--".........["About".projec | 
| 46480 | 74 69 6c 65 2d 76 65 72 73 69 6f 6e 5d 29 29 0a    20 20 20 20 6d 61 70 29 0a 20 20 22 4b 65 79 6d | tile-version])).....map)..."Keym | 
| 464a0 | 61 70 20 66 6f 72 20 50 72 6f 6a 65 63 74 69 6c    65 20 6d 6f 64 65 2e 22 29 0a 0a 28 64 65 66 75 | ap.for.Projectile.mode.")..(defu | 
| 464c0 | 6e 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 2d 66 75 6e 63 | n.projectile-find-file-hook-func | 
| 464e0 | 74 69 6f 6e 20 28 29 0a 20 20 22 43 61 6c 6c 65    64 20 62 79 20 60 66 69 6e 64 2d 66 69 6c 65 2d | tion.()..."Called.by.`find-file- | 
| 46500 | 68 6f 6f 6b 27 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 20 | hook'.when.`projectile-mode'.is. | 
| 46520 | 6f 6e 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f    6e 20 64 6f 65 73 20 70 72 65 74 74 79 20 6d 75 | on...The.function.does.pretty.mu | 
| 46540 | 63 68 20 6e 6f 74 68 69 6e 67 20 77 68 65 6e 20    74 72 69 67 67 65 72 65 64 20 6f 6e 20 72 65 6d | ch.nothing.when.triggered.on.rem | 
| 46560 | 6f 74 65 20 66 69 6c 65 73 0a 61 73 20 61 6c 6c    20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 | ote.files.as.all.the.operations. | 
| 46580 | 69 74 20 6e 6f 72 6d 61 6c 6c 79 20 70 65 72 66    6f 72 6d 73 20 61 72 65 20 65 78 74 72 65 6d 65 | it.normally.performs.are.extreme | 
| 465a0 | 6c 79 20 73 6c 6f 77 20 6f 76 65 72 0a 74 72 61    6d 70 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69 | ly.slow.over.tramp."...(projecti | 
| 465c0 | 6c 65 2d 6d 61 79 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 | le-maybe-limit-project-file-buff | 
| 465e0 | 65 72 73 29 0a 20 20 28 75 6e 6c 65 73 73 20 28    66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 65 | ers)...(unless.(file-remote-p.de | 
| 46600 | 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29    0a 20 20 20 20 28 77 68 65 6e 20 70 72 6f 6a 65 | fault-directory).....(when.proje | 
| 46620 | 63 74 69 6c 65 2d 64 79 6e 61 6d 69 63 2d 6d 6f    64 65 2d 6c 69 6e 65 0a 20 20 20 20 20 20 28 70 | ctile-dynamic-mode-line.......(p | 
| 46640 | 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 65 29 29 0a 20 20 20 | rojectile-update-mode-line)).... | 
| 46660 | 20 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 61 75 74 6f 2d 75 70 64 61 74 65 2d 63 61 | .(when.projectile-auto-update-ca | 
| 46680 | 63 68 65 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 66 69 6c 65 | che.......(projectile-cache-file | 
| 466a0 | 73 2d 66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b    29 29 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | s-find-file-hook)).....(projecti | 
| 466c0 | 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 | 
| 466e0 | 65 2d 68 6f 6f 6b 29 0a 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 76 69 73 69 74 2d 70 72 | e-hook).....(projectile-visit-pr | 
| 46700 | 6f 6a 65 63 74 2d 74 61 67 73 2d 74 61 62 6c 65    29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | oject-tags-table)))..(defun.proj | 
| 46720 | 65 63 74 69 6c 65 2d 6d 61 79 62 65 2d 6c 69 6d    69 74 2d 70 72 6f 6a 65 63 74 2d 66 69 6c 65 2d | ectile-maybe-limit-project-file- | 
| 46740 | 62 75 66 66 65 72 73 20 28 29 0a 20 20 22 4c 69    6d 69 74 20 74 68 65 20 6f 70 65 6e 65 64 20 66 | buffers.()..."Limit.the.opened.f | 
| 46760 | 69 6c 65 20 62 75 66 66 65 72 73 20 66 6f 72 20    61 20 70 72 6f 6a 65 63 74 2e 0a 0a 54 68 65 20 | ile.buffers.for.a.project...The. | 
| 46780 | 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 79 20    6b 69 6c 6c 73 20 74 68 65 20 6c 61 73 74 20 62 | function.simply.kills.the.last.b | 
| 467a0 | 75 66 66 65 72 2c 20 61 73 20 69 74 27 73 20 6e    6f 72 6d 61 6c 6c 79 20 63 61 6c 6c 65 64 0a 77 | uffer,.as.it's.normally.called.w | 
| 467c0 | 68 65 6e 20 6f 70 65 6e 69 6e 67 20 6e 65 77 20    66 69 6c 65 73 2e 22 0a 20 20 28 77 68 65 6e 20 | hen.opening.new.files."...(when. | 
| 467e0 | 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 75 6e 74 | projectile-max-file-buffer-count | 
| 46800 | 0a 20 20 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 6f | .....(let.((project-buffers.(pro | 
| 46820 | 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 65 73 29 29 29 0a | jectile-project-buffer-files))). | 
| 46840 | 20 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 28    6c 65 6e 67 74 68 20 70 72 6f 6a 65 63 74 2d 62 | ......(when.(>.(length.project-b | 
| 46860 | 75 66 66 65 72 73 29 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 | uffers).projectile-max-file-buff | 
| 46880 | 65 72 2d 63 6f 75 6e 74 29 0a 20 20 20 20 20 20    20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 | er-count).........(kill-buffer.( | 
| 468a0 | 63 61 72 20 28 6c 61 73 74 20 70 72 6f 6a 65 63    74 2d 62 75 66 66 65 72 73 29 29 29 29 29 29 29 | car.(last.project-buffers))))))) | 
| 468c0 | 0a 0a 3b 3b 3b 3b 20 70 72 6f 6a 65 63 74 2e 65    6c 20 69 6e 74 65 67 72 61 74 69 6f 6e 0a 3b 3b | ..;;;;.project.el.integration.;; | 
| 468e0 | 0a 3b 3b 20 50 72 6f 6a 65 63 74 69 6c 65 20 77    69 6c 6c 20 62 65 63 6f 6d 65 20 74 68 65 20 64 | .;;.Projectile.will.become.the.d | 
| 46900 | 65 66 61 75 6c 74 20 70 72 6f 76 69 64 65 72 20    66 6f 72 0a 3b 3b 20 70 72 6f 6a 65 63 74 2e 65 | efault.provider.for.;;.project.e | 
| 46920 | 6c 20 70 72 6f 6a 65 63 74 20 61 6e 64 20 70 72    6f 6a 65 63 74 20 66 69 6c 65 73 20 6c 6f 6f 6b | l.project.and.project.files.look | 
| 46940 | 75 70 20 77 68 65 6e 0a 3b 3b 20 70 72 6f 6a 65    63 74 69 6c 65 2d 6d 6f 64 65 20 69 73 20 65 6e | up.when.;;.projectile-mode.is.en | 
| 46960 | 61 62 6c 65 64 2e 0a 3b 3b 0a 3b 3b 20 54 68 65    20 69 6e 74 65 67 72 61 74 69 6f 6e 20 63 61 6e | abled..;;.;;.The.integration.can | 
| 46980 | 20 61 6c 73 6f 20 62 65 20 6d 61 6e 75 61 6c 6c    79 20 65 6e 61 62 6c 65 64 20 6c 69 6b 65 20 74 | .also.be.manually.enabled.like.t | 
| 469a0 | 68 69 73 3a 0a 3b 3b 0a 3b 3b 20 28 61 64 64 2d    68 6f 6f 6b 20 27 70 72 6f 6a 65 63 74 2d 66 69 | his:.;;.;;.(add-hook.'project-fi | 
| 469c0 | 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 | 
| 469e0 | 65 29 0a 3b 3b 0a 3b 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 | e).;;.;;.See.https://github.com/ | 
| 46a00 | 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 20 66 | bbatsov/projectile/issues/1591.f | 
| 46a20 | 6f 72 0a 3b 3b 20 6d 6f 72 65 20 64 65 74 61 69    6c 73 2e 0a 0a 3b 3b 20 69 74 27 73 20 73 61 66 | or.;;.more.details...;;.it's.saf | 
| 46a40 | 65 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 69    73 20 64 69 72 65 63 74 6c 79 2c 20 61 73 20 69 | e.to.require.this.directly,.as.i | 
| 46a60 | 74 20 77 61 73 20 61 64 64 65 64 20 69 6e 20 45    6d 61 63 73 20 32 35 2e 31 0a 28 72 65 71 75 69 | t.was.added.in.Emacs.25.1.(requi | 
| 46a80 | 72 65 20 27 70 72 6f 6a 65 63 74 29 0a 0a 3b 3b    20 4f 6e 6c 79 20 64 65 66 69 6e 65 20 61 6e 20 | re.'project)..;;.Only.define.an. | 
| 46aa0 | 6f 76 65 72 72 69 64 65 20 66 6f 72 20 70 72 6f    6a 65 63 74 2d 72 6f 6f 74 20 69 66 20 74 68 65 | override.for.project-root.if.the | 
| 46ac0 | 20 6d 65 74 68 6f 64 20 65 78 69 73 74 73 2e 20    20 46 6f 72 20 76 65 72 73 69 6f 6e 73 0a 3b 3b | .method.exists...For.versions.;; | 
| 46ae0 | 20 62 65 66 6f 72 65 20 65 6d 61 63 73 20 32 38    2c 20 70 72 6f 6a 65 63 74 2e 65 6c 20 70 72 6f | .before.emacs.28,.project.el.pro | 
| 46b00 | 76 69 64 65 64 20 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 70 | vided.project-roots.instead.of.p | 
| 46b20 | 72 6f 6a 65 63 74 2e 72 6f 6f 74 2e 0a 28 69 66    20 28 66 62 6f 75 6e 64 70 20 27 70 72 6f 6a 65 | roject.root..(if.(fboundp.'proje | 
| 46b40 | 63 74 2d 72 6f 6f 74 29 0a 20 20 20 20 28 63 6c    2d 64 65 66 6d 65 74 68 6f 64 20 70 72 6f 6a 65 | ct-root).....(cl-defmethod.proje | 
| 46b60 | 63 74 2d 72 6f 6f 74 20 28 28 70 72 6f 6a 65 63    74 20 28 68 65 61 64 20 70 72 6f 6a 65 63 74 69 | ct-root.((project.(head.projecti | 
| 46b80 | 6c 65 29 29 29 0a 20 20 20 20 20 20 28 63 64 72    20 70 72 6f 6a 65 63 74 29 29 29 0a 0a 28 63 6c | le))).......(cdr.project)))..(cl | 
| 46ba0 | 2d 64 65 66 6d 65 74 68 6f 64 20 70 72 6f 6a 65    63 74 2d 66 69 6c 65 73 20 28 28 70 72 6f 6a 65 | -defmethod.project-files.((proje | 
| 46bc0 | 63 74 20 28 68 65 61 64 20 70 72 6f 6a 65 63 74    69 6c 65 29 29 20 26 6f 70 74 69 6f 6e 61 6c 20 | ct.(head.projectile)).&optional. | 
| 46be0 | 5f 64 69 72 73 29 0a 20 20 28 6c 65 74 20 28 28    72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 2d 72 6f | _dirs)...(let.((root.(project-ro | 
| 46c00 | 6f 74 20 70 72 6f 6a 65 63 74 29 29 29 0a 20 20    20 20 3b 3b 20 4d 61 6b 65 20 70 61 74 68 73 20 | ot.project))).....;;.Make.paths. | 
| 46c20 | 61 62 73 6f 6c 75 74 65 20 61 6e 64 20 69 67 6e    6f 72 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c | absolute.and.ignore.the.optional | 
| 46c40 | 20 64 69 72 73 20 61 72 67 75 6d 65 6e 74 2c 0a    20 20 20 20 3b 3b 20 73 65 65 20 68 74 74 70 73 | .dirs.argument,.....;;.see.https | 
| 46c60 | 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 | 
| 46c80 | 2f 69 73 73 75 65 73 2f 31 35 39 31 23 69 73 73    75 65 63 6f 6d 6d 65 6e 74 2d 38 39 36 34 32 33 | /issues/1591#issuecomment-896423 | 
| 46ca0 | 39 36 35 0a 20 20 20 20 3b 3b 20 54 68 61 74 27    73 20 6e 65 65 64 65 64 20 62 65 63 61 75 73 65 | 965.....;;.That's.needed.because | 
| 46cc0 | 20 50 72 6f 6a 65 63 74 69 6c 65 20 75 73 65 73    20 72 65 6c 61 74 69 76 65 20 70 61 74 68 73 20 | .Projectile.uses.relative.paths. | 
| 46ce0 | 66 6f 72 20 70 72 6f 6a 65 63 74 20 66 69 6c 65    73 0a 20 20 20 20 3b 3b 20 61 6e 64 20 70 72 6f | for.project.files.....;;.and.pro | 
| 46d00 | 6a 65 63 74 2e 65 6c 20 65 78 70 65 63 74 73 20    74 68 65 6d 20 74 6f 20 62 65 20 61 62 73 6f 6c | ject.el.expects.them.to.be.absol | 
| 46d20 | 75 74 65 2e 0a 20 20 20 20 3b 3b 20 46 49 58 4d    45 3a 20 54 68 61 74 27 73 20 70 72 6f 62 61 62 | ute......;;.FIXME:.That's.probab | 
| 46d40 | 6c 79 20 67 6f 69 6e 67 20 74 6f 20 62 65 20 76    65 72 79 20 73 6c 6f 77 20 69 6e 20 6c 61 72 67 | ly.going.to.be.very.slow.in.larg | 
| 46d60 | 65 20 70 72 6f 6a 65 63 74 73 2e 0a 20 20 20 20    28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 | e.projects......(mapcar.(lambda. | 
| 46d80 | 28 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6f 6e 63 61 74 20 72 6f 6f 74 20 66 | (f)...............(concat.root.f | 
| 46da0 | 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 70 72 6f 6a 65 | )).............(projectile-proje | 
| 46dc0 | 63 74 2d 66 69 6c 65 73 20 72 6f 6f 74 29 29 29    29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 | ct-files.root))))..;;;###autoloa | 
| 46de0 | 64 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 64 69 72 | d.(defun.project-projectile.(dir | 
| 46e00 | 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 74 20 6f | )..."Return.Projectile.project.o | 
| 46e20 | 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 72 29 20 | f.form.('projectile...root-dir). | 
| 46e40 | 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 65 63 74 | for.DIR."...(let.((root.(project | 
| 46e60 | 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 77 68 65 | ile-project-root.dir))).....(whe | 
| 46e80 | 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 65 20 72 | n.root.......(cons.'projectile.r | 
| 46ea0 | 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 6e 65 2d | oot))))..;;;###autoload.(define- | 
| 46ec0 | 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 22 4d 69 | minor-mode.projectile-mode..."Mi | 
| 46ee0 | 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 6e 61 67 | nor.mode.to.assist.project.manag | 
| 46f00 | 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 61 6c 6c | ement.and.navigation...When.call | 
| 46f20 | 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 6a 65 63 | ed.interactively,.toggle.`projec | 
| 46f40 | 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 20 65 6e | tile-mode'...With.prefix.ARG,.en | 
| 46f60 | 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 20 69 73 | able.`projectile-mode'.if.ARG.is | 
| 46f80 | 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 69 74 2e | .positive,.otherwise.disable.it. | 
| 46fa0 | 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 6c 65 20 | ..When.called.from.Lisp,.enable. | 
| 46fc0 | 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 6d 69 74 | `projectile-mode'.if.ARG.is.omit | 
| 46fe0 | 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 20 69 73 | ted,.nil.or.positive...If.ARG.is | 
| 47000 | 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 2d 6d 6f | .`toggle',.toggle.`projectile-mo | 
| 47020 | 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 61 6c 6c | de'..Otherwise.behave.as.if.call | 
| 47040 | 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 69 6c 65 | ed.interactively...\\{projectile | 
| 47060 | 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 74 69 6c | -mode-map}"...:lighter.projectil | 
| 47080 | 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 74 69 6c | e--mode-line...:keymap.projectil | 
| 470a0 | 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 6c 65 0a | e-mode-map...:group.'projectile. | 
| 470c0 | 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 62 61 6c | ..:require.'projectile...:global | 
| 470e0 | 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 65 0a 20 | .t...(cond....(projectile-mode.. | 
| 47100 | 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 64 69 6e | ...;;.setup.the.commander.bindin | 
| 47120 | 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 62 69 6e | gs.....(projectile-commander-bin | 
| 47140 | 64 69 6e 67 73 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 | dings).....(add-hook.'project-fi | 
| 47160 | 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 | 
| 47180 | 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 | 
| 471a0 | 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 | 
| 471c0 | 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- | 
| 471e0 | 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 | 
| 47200 | 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 | 
| 47220 | 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 | 
| 47240 | 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 | 
| 47260 | 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). | 
| 47280 | 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 | 
| 472a0 | 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 | 
| 472c0 | 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 | 
| 472e0 | 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 | 
| 47300 | 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 | 
| 47320 | 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)).... | 
| 47340 | 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 | 
| 47360 | 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 | 
| 47380 | 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 | 
| 473a0 | 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 | 
| 473c0 | 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 | 
| 473e0 | 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 | 
| 47400 | 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- | 
| 47420 | 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 | 
| 47440 | 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- | 
| 47460 | 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 | 
| 47480 | 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 | 
| 474a0 | 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 | 
| 474c0 | 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))))..;; | 
| 474e0 | 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 | 
| 47500 | 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- | 
| 47520 | 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..; | 
| 47540 | 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 | 
| 47560 | 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 | 
| 47580 | 20 64 65 74 61 69 6c 73 0a 28 64 65 66 76 61 72    20 73 61 76 65 68 69 73 74 2d 61 64 64 69 74 69 | .details.(defvar.savehist-additi | 
| 475a0 | 6f 6e 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 6e    69 6c 29 0a 0a 28 69 66 20 28 62 6f 75 6e 64 2d | onal-variables.nil)..(if.(bound- | 
| 475c0 | 61 6e 64 2d 74 72 75 65 2d 70 20 73 61 76 65 68    69 73 74 2d 6c 6f 61 64 65 64 29 0a 20 20 20 20 | and-true-p.savehist-loaded)..... | 
| 475e0 | 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 73 61    76 65 68 69 73 74 2d 61 64 64 69 74 69 6f 6e 61 | (add-to-list.'savehist-additiona | 
| 47600 | 6c 2d 76 61 72 69 61 62 6c 65 73 20 27 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | l-variables.'projectile-project- | 
| 47620 | 63 6f 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 29    0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 61 | command-history)...(add-hook.'sa | 
| 47640 | 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 61 | vehist-mode-hook.............(la | 
| 47660 | 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 73 | mbda()...............(add-to-lis | 
| 47680 | 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 73 | t.'savehist-additional-variables | 
| 476a0 | 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 73 | .'projectile-project-command-his | 
| 476c0 | 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 65 | tory))))..;;;###autoload.(define | 
| 476e0 | 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 63 | -obsolete-function-alias.'projec | 
| 47700 | 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 64 | tile-global-mode.'projectile-mod | 
| 47720 | 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 0a | e."1.0")..(provide.'projectile). | 
| 47740 | 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 00 | .;;;.projectile.el.ends.here.... | 
| 47760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 477a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 477c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 477e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47800 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 | projectile-2.9.1/README.md...... | 
| 47820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47860 | 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 | 
| 47880 | 30 30 31 37 33 34 34 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 36 31 32 00 20 30 00 00 00 | 0017344.00000000000.013612..0... | 
| 478a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 478c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 478e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47900 | 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................... | 
| 47920 | 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................... | 
| 47940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 479a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 479c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 479e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 47a00 | 23 20 50 72 6f 6a 65 63 74 69 6c 65 0a 0a 5b 21    5b 42 75 69 6c 64 20 53 74 61 74 75 73 5d 28 68 | #.Projectile..[](ht | 
| 47a60 | 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 | 
| 47a80 | 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) | 
| 47aa0 | 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 70 3a    2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b | .[](http | 
| 47ae0 | 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 70    72 6f 6a 65 63 74 69 6c 65 29 0a 5b 21 5b 4d 45 | ://melpa.org/#/projectile).[](http://stable.melpa.org/#/pr | 
| 47b60 | 6f 6a 65 63 74 69 6c 65 29 0a 5b 21 5b 4e 6f 6e    47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a | ojectile).[](https://elpa.nongnu.or | 
| 47bc0 | 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 | 
| 47be0 | 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 | 
| 47c00 | 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. | 
| 47c20 | 74 78 74 29 0a 5b 21 5b 44 69 73 63 6f 72 64 5d    28 68 74 74 70 73 3a 2f 2f 69 6d 67 2e 73 68 69 | txt).[](https | 
| 47c80 | 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 | 
| 47ca0 | 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 | 
| 47cc0 | 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 | 
| 47ce0 | 73 2e 0a 49 74 20 70 72 6f 76 69 64 65 73 20 61    20 70 6f 77 65 72 66 75 6c 20 73 65 74 20 6f 66 | s..It.provides.a.powerful.set.of | 
| 47d00 | 20 66 65 61 74 75 72 65 73 20 6f 70 65 72 61 74    69 6e 67 20 61 74 20 74 68 65 20 70 72 6f 6a 65 | .features.operating.at.the.proje | 
| 47d20 | 63 74 0a 6c 65 76 65 6c 2c 20 61 73 20 77 65 6c    6c 20 61 73 20 73 69 6d 70 6c 65 20 68 65 75 72 | ct.level,.as.well.as.simple.heur | 
| 47d40 | 69 73 74 69 63 73 20 74 6f 20 69 64 65 6e 74 69    66 79 20 70 72 6f 6a 65 63 74 73 2e 0a 0a 48 65 | istics.to.identify.projects...He | 
| 47d60 | 72 65 20 61 72 65 20 73 6f 6d 65 20 6f 66 20 65    73 73 65 6e 74 69 61 6c 20 50 72 6f 6a 65 63 74 | re.are.some.of.essential.Project | 
| 47d80 | 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 20 66 69 6c | ile's.features:..*.jump.to.a.fil | 
| 47da0 | 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 6a 65 63 74 | e.in.project.*.jump.to.a.project | 
| 47dc0 | 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 70 72 6f 6a | .buffer.*.jump.to.a.test.in.proj | 
| 47de0 | 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 69 74 68 20 | ect.*.toggle.between.files.with. | 
| 47e00 | 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 65 6e 73 69 | same.names.but.different.extensi | 
| 47e20 | 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 2c 20 60 47 | ons.(e.g..`.h`.<->.`.c/.cpp`,.`G | 
| 47e40 | 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 2a 20 74 6f | emfile`.<->.`Gemfile.lock`).*.to | 
| 47e60 | 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 73 74 20 28 | ggle.between.code.and.its.test.( | 
| 47e80 | 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 6d 61 69 6e | e.g..`main.service.js`.<->.`main | 
| 47ea0 | 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 20 72 65 63 | .service.spec.js`).*.jump.to.rec | 
| 47ec0 | 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 72 6f 6a 65 | ently.visited.files.in.the.proje | 
| 47ee0 | 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 20 79 6f 75 | ct.*.switch.between.projects.you | 
| 47f00 | 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 65 29 20 61 | .have.worked.on.*.kill.(close).a | 
| 47f20 | 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 65 61 72 63 | ll.project.buffers.*.grep.(searc | 
| 47f40 | 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 72 6f 6a 65 | h).in.project.*.replace.in.proje | 
| 47f60 | 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 65 63 74 20 | ct.*.find.references.in.project. | 
| 47f80 | 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 72 75 6e 20 | (using.`xref`.internally).*.run. | 
| 47fa0 | 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 28 65 2e 67 | shell.commands.in.a.project.(e.g | 
| 47fc0 | 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 66 6f 72 20 | ..`make`,.`lein`).*.support.for. | 
| 47fe0 | 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 6f 6e 2f 73 | multiple.minibuffer.completion/s | 
| 48000 | 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 69 76 79 60 | election.libraries.(`ido`,.`ivy` | 
| 48020 | 2c 20 60 68 65 6c 6d 60 2c 20 61 6e 64 20 74 68    65 20 64 65 66 61 75 6c 74 20 63 6f 6d 70 6c 65 | ,.`helm`,.and.the.default.comple | 
| 48040 | 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 65 63 74 | tion.system).*.automatic.project | 
| 48060 | 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 72 6f 6a | .discovery.(see.`projectile-proj | 
| 48080 | 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 6f 6e 20 | ect-search-path`).*.integration. | 
| 480a0 | 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 60 20 6c | with.the.built-in.`project.el`.l | 
| 480c0 | 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 63 6f 73 | ibrary..There's.also.a.rich.ecos | 
| 480e0 | 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 69 6c 65 | ystem.of.third-party.[Projectile | 
| 48100 | 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 67 2f 23 | .extensions](https://melpa.org/# | 
| 48120 | 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 20 6d 6f | /?q=projectile).that.add.even.mo | 
| 48140 | 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 0a 5b 21 | re.features...---------------.[! | 
| 48160 | 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 2e 69 6f | [Patreon](https://img.shields.io | 
| 48180 | 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 73 76 67 | /badge/patreon-donate-orange.svg | 
| 481a0 | 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 61 74 73 | )](https://www.patreon.com/bbats | 
| 481c0 | 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 79 70 61 | ov).[](https://www.paypal. | 
| 48220 | 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 69 63 6b | com/cgi-bin/webscr?cmd=_s-xclick | 
| 48240 | 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 52 51 29 | &hosted_button_id=GRQKNBM6P8VRQ) | 
| 48260 | 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 74 69 6c | ..I've.been.developing.Projectil | 
| 48280 | 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 65 20 32 | e.for.over.a.decade.now.(since.2 | 
| 482a0 | 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 74 20 74 | 011)..While.it's.a.fun.project.t | 
| 482c0 | 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 61 20 6c | o.work.on,.it.still.requires.a.l | 
| 482e0 | 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 74 61 69 | ot.of.time.and.energy.to.maintai | 
| 48300 | 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 6e 20 50 | n...You.can.support.my.work.on.P | 
| 48320 | 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 3a 2f 2f | rojectile.via..[PayPal](https:// | 
| 48340 | 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 72 65 6f | www.paypal.me/bbatsov),..[Patreo | 
| 48360 | 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 61 74 73 | n](https://www.patreon.com/bbats | 
| 48380 | 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 74 70 73 | ov).and..[GitHub.Sponsors](https | 
| 483a0 | 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 76 29 2e | ://github.com/sponsors/bbatsov). | 
| 483c0 | 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 72 65 27 | ..##.Projectile.in.Action..Here' | 
| 483e0 | 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 61 63 74 | s.a.glimpse.of.Projectile.in.act | 
| 48400 | 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 69 6c 65 | ion.(using.`ivy`):....In.t | 
| 48460 | 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 2a 20 66 | his.short.demo.you.can.see:..*.f | 
| 48480 | 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 77 69 74 | inding.files.in.a.project.*.swit | 
| 484a0 | 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 61 6e 64 | ching.between.implementation.and | 
| 484c0 | 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 6a 65 63 | .test.*.switching.between.projec | 
| 484e0 | 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 63 74 69 | ts..##.Quickstart..The.instructi | 
| 48500 | 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 67 65 74 | ons.that.follow.are.meant.to.get | 
| 48520 | 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 72 6f 6a | .you.from.zero.to.a.running.Proj | 
| 48540 | 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 73 69 74 | ectile.setup.in.a.minute...Visit | 
| 48560 | 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 74 74 70 | .the.[online.documentation](http | 
| 48580 | 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 77 61 79 | s://docs.projectile.mx).for.(way | 
| 485a0 | 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 74 69 6f | ).more.details...###.Installatio | 
| 485c0 | 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 69 6e 20 | n..`package.el`.is.the.built-in. | 
| 485e0 | 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 6f 6a 65 | package.manager.in.Emacs...Proje | 
| 48600 | 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 6f 72 20 | ctile.is.available.on.all.major. | 
| 48620 | 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 69 6e 65 | `package.el`.community.maintaine | 
| 48640 | 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 3a 2f 2f | d.repos.-.[NonGNU.ELPA](https:// | 
| 48660 | 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 6c 65 5d | elpa.nongnu.org),.[MELPA.Stable] | 
| 48680 | 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 20 5b 4d | (http://stable.melpa.org).and.[M | 
| 486a0 | 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 20 63 61 | ELPA](http://melpa.org)...You.ca | 
| 486c0 | 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 20 66 6f | n.install.Projectile.with.the.fo | 
| 486e0 | 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 62 64 3e | llowing.command:..<kbd>M-x</kbd> | 
| 48700 | 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 3c 2f 6b | .`package-install`.<kbd>[RET]</k | 
| 48720 | 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 6b 62 64 | bd>.`projectile`.<kbd>[RET]</kbd | 
| 48740 | 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 62 69 61 | >..Alternatively,.users.of.Debia | 
| 48760 | 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 6f 72 20 | n.9.or.later.or.Ubuntu.16.04.or. | 
| 48780 | 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 74 61 6c | later.may.simply.`apt-get.instal | 
| 487a0 | 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 61 64 64 | l.elpa-projectile`...Finally.add | 
| 487c0 | 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 60 60 60 | .this.to.your.Emacs.config:..``` | 
| 487e0 | 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 20 52 65 | elisp.(projectile-mode.+1).;;.Re | 
| 48800 | 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 63 4f 53 | commended.keymap.prefix.on.macOS | 
| 48820 | 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 6d 61 70 | .(define-key.projectile-mode-map | 
| 48840 | 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 61 6e 64 | .(kbd."s-p").'projectile-command | 
| 48860 | 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 72 65 66 | -map).;;.Recommended.keymap.pref | 
| 48880 | 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 65 79 20 | ix.on.Windows/Linux.(define-key. | 
| 488a0 | 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 20 70 22 | projectile-mode-map.(kbd."C-c.p" | 
| 488c0 | 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 60 0a 0a | ).'projectile-command-map).```.. | 
| 488e0 | 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 74 20 61 | Those.keymap.prefixes.are.just.a | 
| 48900 | 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 20 74 68 | .suggestion..Feel.free.to.put.th | 
| 48920 | 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 6f 75 2e | ere.whatever.works.best.for.you. | 
| 48940 | 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 6f 6a 65 | ..###.Basic.Usage..Enable.`proje | 
| 48960 | 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 6e 65 20 | ctile-mode`,.open.a.file.in.one. | 
| 48980 | 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 6f 6d 6d | of.your.projects.and.type.a.comm | 
| 489a0 | 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 3e 2e 0a | and.such.as.<kbd>C-c.p.f</kbd>.. | 
| 489c0 | 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 6e 5d 28 | .See.the.[online.documentation]( | 
| 489e0 | 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 70 72 6f 6a 65 | https://docs.projectile.mx/proje | 
| 48a00 | 63 74 69 6c 65 2f 75 73 61 67 65 2e 68 74 6d 6c    29 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 | ctile/usage.html).for.more.detai | 
| 48a20 | 6c 73 2e 0a 0a 54 6f 20 67 65 74 20 74 68 65 20    6d 6f 73 74 20 6f 66 20 50 72 6f 6a 65 63 74 69 | ls...To.get.the.most.of.Projecti | 
| 48a40 | 6c 65 20 79 6f 75 20 61 6c 73 6f 20 6e 65 65 64    20 74 6f 20 65 6e 61 62 6c 65 20 28 61 6e 64 20 | le.you.also.need.to.enable.(and. | 
| 48a60 | 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 73 74    61 6c 6c 29 0a 73 6f 6d 65 20 6d 69 6e 69 62 75 | potentially.install).some.minibu | 
| 48a80 | 66 66 65 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 20    66 72 61 6d 65 77 6f 72 6b 20 28 65 2e 67 2e 20 | ffer.completion.framework.(e.g.. | 
| 48aa0 | 60 69 64 6f 60 2c 20 60 69 76 79 60 20 6f 72 20    60 76 65 72 74 69 63 6f 60 29 2e 20 53 65 65 0a | `ido`,.`ivy`.or.`vertico`)..See. | 
| 48ac0 | 5b 74 68 69 73 0a 73 65 63 74 69 6f 6e 5d 28 68    74 74 70 73 3a 2f 2f 64 6f 63 73 2e 70 72 6f 6a | [this.section](https://docs.proj | 
| 48ae0 | 65 63 74 69 6c 65 2e 6d 78 2f 70 72 6f 6a 65 63    74 69 6c 65 2f 63 6f 6e 66 69 67 75 72 61 74 69 | ectile.mx/projectile/configurati | 
| 48b00 | 6f 6e 2e 68 74 6d 6c 23 63 6f 6d 70 6c 65 74 69    6f 6e 2d 6f 70 74 69 6f 6e 73 29 0a 6f 66 20 74 | on.html#completion-options).of.t | 
| 48b20 | 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e    20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c | he.documentation.for.more.detail | 
| 48b40 | 73 2e 0a 0a 3e 20 5b 21 43 41 55 54 49 4f 4e 5d    0a 3e 0a 3e 20 48 69 73 74 6f 72 69 63 61 6c 6c | s...>.[!CAUTION].>.>.Historicall | 
| 48b60 | 79 20 60 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 60 | y.`projectile-completion-system` | 
| 48b80 | 20 64 65 66 61 75 6c 74 65 64 20 74 6f 20 60 69    64 6f 60 2c 20 62 75 74 20 74 68 69 73 20 77 61 | .defaulted.to.`ido`,.but.this.wa | 
| 48ba0 | 73 0a 3e 20 63 68 61 6e 67 65 64 20 69 6e 20 76    65 72 73 69 6f 6e 20 32 2e 33 2e 20 59 6f 75 20 | s.>.changed.in.version.2.3..You. | 
| 48bc0 | 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 64 65 60 20 69 6e | may.need.to.enable.`ido-mode`.in | 
| 48be0 | 20 79 6f 75 72 20 45 6d 61 63 73 0a 3e 20 63 6f    6e 66 69 67 75 72 61 74 69 6f 6e 20 69 66 20 75 | .your.Emacs.>.configuration.if.u | 
| 48c00 | 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 6e 20 6f 66 | pdating.from.an.older.version.of | 
| 48c20 | 20 50 72 6f 6a 65 63 74 69 6c 65 2e 0a 0a 23 23    20 44 65 73 69 67 6e 20 47 6f 61 6c 73 0a 0a 49 | .Projectile...##.Design.Goals..I | 
| 48c40 | 6e 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 79    6f 75 27 6c 6c 20 66 69 6e 64 20 73 6f 6d 65 20 | n.this.section.you'll.find.some. | 
| 48c60 | 6e 6f 74 65 73 20 6f 6e 20 50 72 6f 6a 65 63 74    69 6c 65 27 73 20 64 65 73 69 67 6e 20 67 6f 61 | notes.on.Projectile's.design.goa | 
| 48c80 | 6c 73 2c 20 74 68 61 74 0a 68 61 76 65 20 62 65    65 6e 20 75 70 68 65 6c 64 20 73 69 6e 63 65 20 | ls,.that.have.been.upheld.since. | 
| 48ca0 | 74 68 65 20 65 61 72 6c 69 65 73 74 20 64 61 79    73 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 74 | the.earliest.days.of.the.project | 
| 48cc0 | 2e 0a 0a 23 23 23 20 50 6f 72 74 61 62 69 6c 69    74 79 0a 0a 50 72 6f 6a 65 63 74 69 6c 65 20 70 | ...###.Portability..Projectile.p | 
| 48ce0 | 72 6f 76 69 64 65 20 61 20 6e 69 63 65 20 73 65    74 20 6f 66 20 66 65 61 74 75 72 65 73 20 6f 70 | rovide.a.nice.set.of.features.op | 
| 48d00 | 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 70 72 6f    6a 65 63 74 20 6c 65 76 65 6c 20 77 69 74 68 6f | erating.on.a.project.level.witho | 
| 48d20 | 75 74 0a 69 6e 74 72 6f 64 75 63 69 6e 67 20 65    78 74 65 72 6e 61 6c 20 64 65 70 65 6e 64 65 6e | ut.introducing.external.dependen | 
| 48d40 | 63 69 65 73 20 28 77 68 65 6e 20 66 65 61 73 69    62 6c 65 29 2e 20 46 6f 72 20 69 6e 73 74 61 6e | cies.(when.feasible)..For.instan | 
| 48d60 | 63 65 20 2d 0a 66 69 6e 64 69 6e 67 20 70 72 6f    6a 65 63 74 20 66 69 6c 65 73 20 68 61 73 20 61 | ce.-.finding.project.files.has.a | 
| 48d80 | 20 70 6f 72 74 61 62 6c 65 20 69 6d 70 6c 65 6d    65 6e 74 61 74 69 6f 6e 20 77 72 69 74 74 65 6e | .portable.implementation.written | 
| 48da0 | 20 69 6e 20 70 75 72 65 0a 45 6d 61 63 73 20 4c    69 73 70 20 77 69 74 68 6f 75 74 20 74 68 65 20 | .in.pure.Emacs.Lisp.without.the. | 
| 48dc0 | 75 73 65 20 6f 66 20 47 4e 55 20 60 66 69 6e 64    60 20 28 62 75 74 20 66 6f 72 20 70 65 72 66 6f | use.of.GNU.`find`.(but.for.perfo | 
| 48de0 | 72 6d 61 6e 63 65 27 73 20 73 61 6b 65 20 61 6e    0a 69 6e 64 65 78 69 6e 67 20 6d 65 63 68 61 6e | rmance's.sake.an.indexing.mechan | 
| 48e00 | 69 73 6d 20 62 61 63 6b 65 64 20 62 79 20 65 78    74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 | ism.backed.by.external.commands. | 
| 48e20 | 65 78 69 73 74 73 20 61 73 20 77 65 6c 6c 29 2e    0a 0a 23 23 23 20 53 69 6d 70 6c 69 63 69 74 79 | exists.as.well)...###.Simplicity | 
| 48e40 | 0a 0a 54 68 69 73 20 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 | ..This.library.provides.easy.pro | 
| 48e60 | 6a 65 63 74 20 6d 61 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 | ject.management.and.navigation.. | 
| 48e80 | 54 68 65 20 63 6f 6e 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 | The.concept.of.a.project.is.pret | 
| 48ea0 | 74 79 20 62 61 73 69 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 | ty.basic.-.just.a.folder.contain | 
| 48ec0 | 69 6e 67 20 73 6f 6d 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 | ing.some.special.file.(e.g..a.VC | 
| 48ee0 | 53 0a 6d 61 72 6b 65 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 | S.marker.or.a.project.descriptor | 
| 48f00 | 20 66 69 6c 65 20 6c 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 | .file.like.`pom.xml`.or.`Gemfile | 
| 48f20 | 60 29 2e 20 50 72 6f 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 | `)..Projectile.will.auto-detect. | 
| 48f40 | 70 72 65 74 74 79 20 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 | pretty.much.every.popular.projec | 
| 48f60 | 74 20 74 79 70 65 20 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 | t.type.out.of.the.box.and.you.ca | 
| 48f80 | 6e 20 65 61 73 69 6c 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 | n.easily.extend.it.with.addition | 
| 48fa0 | 61 6c 20 70 72 6f 6a 65 63 74 20 74 79 70 65 73    2e 0a 0a 23 23 23 20 45 61 73 79 20 74 6f 20 55 | al.project.types...###.Easy.to.U | 
| 48fc0 | 73 65 0a 0a 54 68 65 20 63 6f 6e 66 69 67 75 72    61 74 69 6f 6e 20 64 65 66 61 75 6c 74 73 20 61 | se..The.configuration.defaults.a | 
| 48fe0 | 72 65 20 70 72 65 74 74 79 20 72 65 61 73 6f 6e    61 62 6c 65 20 61 6e 64 20 6d 6f 73 74 20 75 73 | re.pretty.reasonable.and.most.us | 
| 49000 | 65 72 73 0a 77 69 6c 6c 20 70 72 6f 62 61 62 6c    79 20 6e 65 76 65 72 20 66 65 65 6c 20 61 20 73 | ers.will.probably.never.feel.a.s | 
| 49020 | 74 72 6f 6e 67 20 6e 65 65 64 20 74 6f 20 63 68    61 6e 67 65 20 74 68 65 6d 2e 0a 0a 41 6c 6c 20 | trong.need.to.change.them...All. | 
| 49040 | 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 65 61 73    69 6c 79 20 64 69 73 63 6f 76 65 72 61 62 6c 65 | commands.are.easily.discoverable | 
| 49060 | 20 61 6e 64 20 61 72 65 20 75 6e 6c 69 6b 65 6c    79 20 74 6f 20 73 75 72 70 72 69 73 65 20 79 6f | .and.are.unlikely.to.surprise.yo | 
| 49080 | 75 0a 77 69 74 68 20 74 68 65 69 72 20 62 65 68    61 76 69 6f 72 2e 0a 0a 23 23 23 20 50 72 61 63 | u.with.their.behavior...###.Prac | 
| 490a0 | 74 69 63 61 6c 69 74 79 0a 0a 50 72 6f 6a 65 63    74 69 6c 65 20 74 72 69 65 73 20 74 6f 20 62 65 | ticality..Projectile.tries.to.be | 
| 490c0 | 20 70 72 61 63 74 69 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 | .practical.-.portability.is.grea | 
| 490e0 | 74 2c 20 62 75 74 20 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 | t,.but.if.some.external.tools.co | 
| 49100 | 75 6c 64 20 73 70 65 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 | uld.speed.up.some.task.substanti | 
| 49120 | 61 6c 6c 79 20 61 6e 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 | ally.and.the.tools.are.available | 
| 49140 | 2c 20 50 72 6f 6a 65 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 | ,.Projectile.will.leverage.them. | 
| 49160 | 0a 0a 23 23 23 20 46 6c 65 78 69 62 69 6c 69 74    79 0a 0a 49 6e 20 74 68 65 20 63 6c 61 73 73 69 | ..###.Flexibility..In.the.classi | 
| 49180 | 63 20 73 70 69 72 69 74 20 6f 66 20 45 6d 61 63    73 20 61 6c 6d 6f 73 74 20 65 76 65 72 79 20 61 | c.spirit.of.Emacs.almost.every.a | 
| 491a0 | 73 70 65 63 74 20 6f 66 20 50 72 6f 6a 65 63 74    69 6c 65 27 73 20 62 65 68 61 76 69 6f 72 20 69 | spect.of.Projectile's.behavior.i | 
| 491c0 | 73 0a 63 6f 6e 66 69 67 75 72 61 62 6c 65 2e 0a    0a 23 23 20 43 61 76 65 61 74 73 0a 0a 2a 20 53 | s.configurable...##.Caveats..*.S | 
| 491e0 | 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 70 | ome.operations.like.search.(grep | 
| 49200 | 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 6c | ).depend.(presently).on.external | 
| 49220 | 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 60 | ...utilities.such.as.`find`.or.` | 
| 49240 | 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 6c | fd`.(version.8.3.0+)....*.for.ol | 
| 49260 | 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 6a | der.`fd`.version.add.`(setq.proj | 
| 49280 | 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 20 | ectile-generic-command."fd...-0. | 
| 492a0 | 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 75 | --type.f.--color=never")`.to.you | 
| 492c0 | 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 67 | r.init-file.*.Commands.depending | 
| 492e0 | 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 73 | .on.external.utilities.might.mis | 
| 49300 | 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 73 | behave.on.the.`fish`.shell..*.Us | 
| 49320 | 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 20 | ing.Projectile.over.TRAMP.might. | 
| 49340 | 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 65 | be.slow.in.certain.cases..*.Some | 
| 49360 | 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 6d | .commands.might.misbehave.on.com | 
| 49380 | 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 20 | plex.project.setups.(e.g..a.git. | 
| 493a0 | 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 6a | project.with.submodules)..*.Proj | 
| 493c0 | 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 78 | ectile.was.mostly.tested.on.Unix | 
| 493e0 | 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 53 | .OS-es.(e.g..GNU/Linux.and.macOS | 
| 49400 | 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 6e | ),.so.some.functionality.might.n | 
| 49420 | 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 69 | ot.work.well.on.Windows..*.In.Gi | 
| 49440 | 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 72 | t.repositories,.deleted.files.ar | 
| 49460 | 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 6e | e.still.shown.in.`projectile-fin | 
| 49480 | 64 2d 66 69 6c 65 60 0a 20 20 75 6e 74 69 6c 20    74 68 65 69 72 20 64 65 6c 65 74 69 6f 6e 73 20 | d-file`...until.their.deletions. | 
| 494a0 | 61 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 | are.staged,.due.to.a.limitation. | 
| 494c0 | 6f 66 20 60 67 69 74 20 6c 73 2d 66 69 6c 65 73    60 2e 20 49 66 0a 20 20 79 6f 75 20 69 6e 73 74 | of.`git.ls-files`..If...you.inst | 
| 494e0 | 61 6c 6c 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 | all.[fd](https://github.com/shar | 
| 49500 | 6b 64 70 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 | kdp/fd).then.it.is.automatically | 
| 49520 | 20 75 73 65 64 0a 20 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 | .used...instead,.and.does.not.ha | 
| 49540 | 76 65 20 74 68 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 | ve.this.problem..(You.can.inhibi | 
| 49560 | 74 20 74 68 65 20 75 73 65 20 6f 66 20 60 66 64    60 20 62 79 0a 20 20 73 65 74 74 69 6e 67 20 60 | t.the.use.of.`fd`.by...setting.` | 
| 49580 | 70 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 60 6e 69 6c 60 2e | projectile-git-use-fd`.to.`nil`. | 
| 495a0 | 29 0a 0a 23 23 20 4b 6e 6f 77 6e 20 69 73 73 75    65 73 0a 0a 43 68 65 63 6b 20 6f 75 74 20 74 68 | )..##.Known.issues..Check.out.th | 
| 495c0 | 65 20 70 72 6f 6a 65 63 74 27 73 0a 5b 69 73 73    75 65 20 6c 69 73 74 5d 28 68 74 74 70 73 3a 2f | e.project's.[issue.list](https:/ | 
| 495e0 | 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 | 
| 49600 | 73 73 75 65 73 3f 73 6f 72 74 3d 63 72 65 61 74    65 64 26 64 69 72 65 63 74 69 6f 6e 3d 64 65 73 | ssues?sort=created&direction=des | 
| 49620 | 63 26 73 74 61 74 65 3d 6f 70 65 6e 29 0a 61 20    6c 69 73 74 20 6f 66 20 75 6e 72 65 73 6f 6c 76 | c&state=open).a.list.of.unresolv | 
| 49640 | 65 64 20 69 73 73 75 65 73 2e 20 42 79 20 74 68    65 20 77 61 79 20 2d 20 66 65 65 6c 20 66 72 65 | ed.issues..By.the.way.-.feel.fre | 
| 49660 | 65 20 74 6f 20 66 69 78 20 61 6e 79 20 6f 66 20    74 68 65 6d 0a 61 6e 64 20 73 65 6e 64 20 6d 65 | e.to.fix.any.of.them.and.send.me | 
| 49680 | 20 61 20 70 75 6c 6c 20 72 65 71 75 65 73 74 2e    20 3a 2d 29 0a 0a 23 23 20 43 6f 6e 74 72 69 62 | .a.pull.request..:-)..##.Contrib | 
| 496a0 | 75 74 6f 72 73 0a 0a 48 65 72 65 27 73 20 61 20    5b 6c 69 73 74 5d 28 68 74 74 70 73 3a 2f 2f 67 | utors..Here's.a.[list](https://g | 
| 496c0 | 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 63 6f 6e | ithub.com/bbatsov/projectile/con | 
| 496e0 | 74 72 69 62 75 74 6f 72 73 29 20 6f 66 20 61 6c    6c 20 74 68 65 20 70 65 6f 70 6c 65 20 77 68 6f | tributors).of.all.the.people.who | 
| 49700 | 20 68 61 76 65 20 63 6f 6e 74 72 69 62 75 74 65    64 20 74 6f 20 74 68 65 0a 64 65 76 65 6c 6f 70 | .have.contributed.to.the.develop | 
| 49720 | 6d 65 6e 74 20 6f 66 20 50 72 6f 6a 65 63 74 69    6c 65 20 28 61 2e 6b 2e 61 2e 20 50 72 6f 6a 65 | ment.of.Projectile.(a.k.a..Proje | 
| 49740 | 63 74 69 6c 65 27 73 20 48 61 6c 6c 20 6f 66 20    46 61 6d 65 29 2e 0a 0a 4a 6f 69 6e 69 6e 67 20 | ctile's.Hall.of.Fame)...Joining. | 
| 49760 | 74 68 69 73 20 65 73 74 65 65 6d 65 64 20 67 72    6f 75 70 20 6f 66 20 70 65 6f 70 6c 65 20 69 73 | this.esteemed.group.of.people.is | 
| 49780 | 20 6f 6e 6c 79 20 61 20 63 6f 6d 6d 69 74 20 61    77 61 79 21 0a 0a 23 23 20 43 68 61 6e 67 65 6c | .only.a.commit.away!..##.Changel | 
| 497a0 | 6f 67 0a 0a 41 20 66 61 69 72 6c 79 20 65 78 74    65 6e 73 69 76 65 20 63 68 61 6e 67 65 6c 6f 67 | og..A.fairly.extensive.changelog | 
| 497c0 | 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 5b 68    65 72 65 5d 28 43 48 41 4e 47 45 4c 4f 47 2e 6d | .is.available.[here](CHANGELOG.m | 
| 497e0 | 64 29 2e 0a 0a 5b 62 61 64 67 65 2d 6c 69 63 65    6e 73 65 5d 3a 20 68 74 74 70 73 3a 2f 2f 69 6d | d)...[badge-license]:.https://im | 
| 49800 | 67 2e 73 68 69 65 6c 64 73 2e 69 6f 2f 62 61 64    67 65 2f 6c 69 63 65 6e 73 65 2d 47 50 4c 5f 33 | g.shields.io/badge/license-GPL_3 | 
| 49820 | 2d 67 72 65 65 6e 2e 73 76 67 0a 0a 23 23 20 4c    69 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 | -green.svg..##.License..Copyrigh | 
| 49840 | 74 20 c2 a9 20 32 30 31 31 2d 32 30 32 35 20 42    6f 7a 68 69 64 61 72 20 42 61 74 73 6f 76 20 61 | t....2011-2025.Bozhidar.Batsov.a | 
| 49860 | 6e 64 0a 5b 63 6f 6e 74 72 69 62 75 74 6f 72 73    5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 | nd.[contributors](https://github | 
| 49880 | 2e 63 6f 6d 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 | .com/bbatsov/projectile/contribu | 
| 498a0 | 74 6f 72 73 29 2e 0a 0a 44 69 73 74 72 69 62 75    74 65 64 20 75 6e 64 65 72 20 74 68 65 20 47 4e | tors)...Distributed.under.the.GN | 
| 498c0 | 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63    20 4c 69 63 65 6e 73 65 2c 20 76 65 72 73 69 6f | U.General.Public.License,.versio | 
| 498e0 | 6e 20 33 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 | n.3............................. | 
| 49900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 499a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 499c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 499e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49a00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 70 72 6f 6a 65 63 74 69 6c 65 2d 70 6b 67 2e | projectile-2.9.1/projectile-pkg. | 
| 49a20 | 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.............................. | 
| 49a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49a60 | 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 | 
| 49a80 | 30 30 30 30 36 37 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 35 37 34 00 20 30 00 00 00 | 0000676.00000000000.015574..0... | 
| 49aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49b00 | 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................... | 
| 49b20 | 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................... | 
| 49b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49c00 | 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 | 
| 49c20 | 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 6d 6f 64 65 3a 20 6c | .from.projectile.el..-*-.mode:.l | 
| 49c40 | 69 73 70 2d 64 61 74 61 3b 20 6e 6f 2d 62 79 74    65 2d 63 6f 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d | isp-data;.no-byte-compile:.t.-*- | 
| 49c60 | 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65    20 22 70 72 6f 6a 65 63 74 69 6c 65 22 20 22 32 | .(define-package."projectile"."2 | 
| 49c80 | 2e 39 2e 31 22 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 | .9.1"."Manage.and.navigate.proje | 
| 49ca0 | 63 74 73 20 69 6e 20 45 6d 61 63 73 20 65 61 73    69 6c 79 22 20 27 28 28 65 6d 61 63 73 20 22 32 | cts.in.Emacs.easily".'((emacs."2 | 
| 49cc0 | 36 2e 31 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22    65 66 31 37 64 32 39 37 31 62 62 63 63 65 31 33 | 6.1")).:commit."ef17d2971bbcce13 | 
| 49ce0 | 62 31 61 63 31 36 65 30 65 33 36 64 34 34 66 61    30 64 65 66 63 61 36 33 22 20 3a 61 75 74 68 6f | b1ac16e0e36d44fa0defca63".:autho | 
| 49d00 | 72 73 20 27 28 28 22 42 6f 7a 68 69 64 61 72 20    42 61 74 73 6f 76 22 20 2e 20 22 62 6f 7a 68 69 | rs.'(("Bozhidar.Batsov"..."bozhi | 
| 49d20 | 64 61 72 40 62 61 74 73 6f 76 2e 64 65 76 22 29    29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 | dar@batsov.dev")).:maintainer.'( | 
| 49d40 | 22 42 6f 7a 68 69 64 61 72 20 42 61 74 73 6f 76    22 20 2e 20 22 62 6f 7a 68 69 64 61 72 40 62 61 | "Bozhidar.Batsov"..."bozhidar@ba | 
| 49d60 | 74 73 6f 76 2e 64 65 76 22 29 20 3a 6b 65 79 77    6f 72 64 73 20 27 28 22 70 72 6f 6a 65 63 74 22 | tsov.dev").:keywords.'("project" | 
| 49d80 | 20 22 63 6f 6e 76 65 6e 69 65 6e 63 65 22 29 20    3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 | ."convenience").:url."https://gi | 
| 49da0 | 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 22 29 0a 00 00 | thub.com/bbatsov/projectile")... | 
| 49dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49e00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 43 48 41 4e 47 45 4c 4f 47 2e 6d 64 00 00 00 | projectile-2.9.1/CHANGELOG.md... | 
| 49e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49e60 | 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 | 
| 49e80 | 30 31 32 36 36 33 34 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 | 0126634.00000000000.014147..0... | 
| 49ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49f00 | 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................... | 
| 49f20 | 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................... | 
| 49f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 49fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4a000 | 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 | 
| 4a020 | 65 64 29 0a 0a 23 23 20 32 2e 39 2e 31 20 28 32    30 32 35 2d 30 32 2d 31 33 29 0a 0a 23 23 23 20 | ed)..##.2.9.1.(2025-02-13)..###. | 
| 4a040 | 42 75 67 73 20 46 69 78 65 64 0a 0a 2a 20 5b 23    31 39 32 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | Bugs.Fixed..*.[#1929](https://gi | 
| 4a060 | 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 | 
| 4a080 | 2f 31 39 32 39 29 3a 20 44 6f 6e 27 74 20 63 72    65 61 74 65 20 63 61 63 68 65 20 66 69 6c 65 73 | /1929):.Don't.create.cache.files | 
| 4a0a0 | 20 77 68 65 6e 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 75 73 65 2d 63 61 63 68 69 6e 67 60 20 69 | .when.`projectile-use-caching`.i | 
| 4a0c0 | 73 20 6e 6f 74 20 73 65 74 20 74 6f 20 60 70 65    72 73 69 73 74 65 6e 74 60 2e 0a 0a 23 23 20 32 | s.not.set.to.`persistent`...##.2 | 
| 4a0e0 | 2e 39 2e 30 20 28 32 30 32 35 2d 30 32 2d 31 32    29 0a 0a 23 23 23 20 4e 65 77 20 66 65 61 74 75 | .9.0.(2025-02-12)..###.New.featu | 
| 4a100 | 72 65 73 0a 0a 2a 20 5b 23 31 38 37 30 5d 28 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f | res..*.[#1870](https://github.co | 
| 4a120 | 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 37 30 29 3a | m/bbatsov/projectile/pull/1870): | 
| 4a140 | 20 41 64 64 20 70 61 63 6b 61 67 65 20 63 6f 6d    6d 61 6e 64 20 66 6f 72 20 43 4d 61 6b 65 20 70 | .Add.package.command.for.CMake.p | 
| 4a160 | 72 6f 6a 65 63 74 73 2e 0a 2a 20 5b 23 31 38 37    35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | rojects..*.[#1875](https://githu | 
| 4a180 | 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 38 | b.com/bbatsov/projectile/pull/18 | 
| 4a1a0 | 37 35 29 3a 20 41 64 64 20 73 75 70 70 6f 72 74    20 66 6f 72 20 53 61 70 6c 69 6e 67 20 56 43 53 | 75):.Add.support.for.Sapling.VCS | 
| 4a1c0 | 2e 0a 2a 20 5b 23 31 38 37 36 5d 28 68 74 74 70    73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 | ..*.[#1876](https://github.com/b | 
| 4a1e0 | 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 37 36 29 3a 20 41 64 | batsov/projectile/pull/1876):.Ad | 
| 4a200 | 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 4a 75    6a 75 74 73 75 20 56 43 53 2e 0a 2a 20 5b 23 31 | d.support.for.Jujutsu.VCS..*.[#1 | 
| 4a220 | 38 37 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 2f | 877](https://github.com/bbatsov/ | 
| 4a240 | 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f    31 38 37 37 29 3a 20 41 64 64 20 63 75 73 74 6f | projectile/pull/1877):.Add.custo | 
| 4a260 | 6d 20 76 61 72 69 61 62 6c 65 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6d 64 2d 68 69 73 74 2d | m.variable.`projectile-cmd-hist- | 
| 4a280 | 69 67 6e 6f 72 65 64 75 70 73 60 2e 0a 2a 20 41    64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 | ignoredups`..*.Add.support.for.E | 
| 4a2a0 | 61 73 6b 20 70 72 6f 6a 65 63 74 73 2e 0a 2a 20    5b 23 31 38 39 32 5d 28 68 74 74 70 73 3a 2f 2f | ask.projects..*.[#1892](https:// | 
| 4a2c0 | 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 | 
| 4a2e0 | 6c 6c 2f 31 38 39 32 29 3a 20 41 64 64 20 63 61    74 65 67 6f 72 79 20 6d 65 74 61 64 61 74 61 20 | ll/1892):.Add.category.metadata. | 
| 4a300 | 74 6f 20 60 63 6f 6d 70 6c 65 74 69 6e 67 2d 72    65 61 64 60 2e 20 28 69 74 27 73 20 75 73 65 64 | to.`completing-read`..(it's.used | 
| 4a320 | 20 62 79 20 70 61 63 6b 61 67 65 73 20 6c 69 6b    65 20 60 6d 61 72 67 69 6e 61 6c 69 61 60 20 61 | .by.packages.like.`marginalia`.a | 
| 4a340 | 6e 64 20 60 65 6d 62 61 72 6b 60 29 0a 2a 20 5b    23 31 38 39 39 5d 28 68 74 74 70 73 3a 2f 2f 67 | nd.`embark`).*.[#1899](https://g | 
| 4a360 | 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 | 
| 4a380 | 6c 2f 31 38 39 39 29 3a 20 41 64 64 20 73 75 70    70 6f 72 74 20 66 6f 72 20 78 6d 61 6b 65 20 62 | l/1899):.Add.support.for.xmake.b | 
| 4a3a0 | 75 69 6c 64 20 75 74 69 6c 69 74 79 2e 0a 2a 20    5b 23 31 38 39 35 5d 28 68 74 74 70 73 3a 2f 2f | uild.utility..*.[#1895](https:// | 
| 4a3c0 | 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 | 
| 4a3e0 | 6c 6c 2f 31 38 39 35 29 3a 20 4d 6f 64 69 66 79    20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 | ll/1895):.Modify.projectile-mode | 
| 4a400 | 20 74 6f 20 61 64 64 20 61 20 68 6f 6f 6b 20 74    6f 20 60 62 75 66 66 65 72 2d 6c 69 73 74 2d 75 | .to.add.a.hook.to.`buffer-list-u | 
| 4a420 | 70 64 61 74 65 2d 68 6f 6f 6b 60 20 73 75 63 68    20 74 68 61 74 20 61 6e 79 20 63 68 61 6e 67 65 | pdate-hook`.such.that.any.change | 
| 4a440 | 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 6c    69 73 74 20 77 69 6c 6c 20 75 70 64 61 74 65 20 | .in.the.buffer.list.will.update. | 
| 4a460 | 74 68 65 20 73 65 6c 65 63 74 65 64 20 70 72 6f    6a 65 63 74 2e 0a 2a 20 5b 23 31 39 31 38 5d 28 | the.selected.project..*.[#1918]( | 
| 4a480 | 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 | 
| 4a4a0 | 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 38 39 35 29    3a 20 41 64 64 20 5a 69 67 20 70 72 6f 6a 65 63 | ctile/pull/1895):.Add.Zig.projec | 
| 4a4c0 | 74 20 64 69 73 63 6f 76 65 72 79 2e 0a 2a 20 41    64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 53 | t.discovery..*.Add.support.for.S | 
| 4a4e0 | 77 69 66 74 20 70 72 6f 6a 65 63 74 20 64 69 73    63 6f 76 65 72 79 2e 0a 2a 20 49 6e 74 72 6f 64 | wift.project.discovery..*.Introd | 
| 4a500 | 75 63 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    67 6c 6f 62 61 6c 2d 69 67 6e 6f 72 65 2d 66 69 | uce.`projectile-global-ignore-fi | 
| 4a520 | 6c 65 2d 70 61 74 74 65 72 6e 73 60 20 63 6f 6e    66 69 67 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 | le-patterns`.config.that.allows. | 
| 4a540 | 74 6f 20 69 67 6e 6f 72 65 20 66 69 6c 65 73 20    61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 | to.ignore.files.and.directories. | 
| 4a560 | 77 69 74 68 20 72 65 67 65 78 70 20 70 61 74 74    65 72 6e 73 2e 0a 2a 20 49 6e 74 72 6f 64 75 63 | with.regexp.patterns..*.Introduc | 
| 4a580 | 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 61 75    74 6f 2d 63 6c 65 61 6e 75 70 2d 6b 6e 6f 77 6e | e.`projectile-auto-cleanup-known | 
| 4a5a0 | 2d 70 72 6f 6a 65 63 74 73 60 20 6f 70 74 69 6f    6e 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 79 6f | -projects`.option.that.allows.yo | 
| 4a5c0 | 75 20 74 6f 20 61 75 74 6f 2d 63 6c 65 61 6e 75    70 20 6d 69 73 73 69 6e 67 20 70 72 6f 6a 65 63 | u.to.auto-cleanup.missing.projec | 
| 4a5e0 | 74 73 2e 0a 0a 23 23 23 20 42 75 67 73 20 66 69    78 65 64 0a 0a 2a 20 5b 23 31 38 38 31 5d 28 68 | ts...###.Bugs.fixed..*.[#1881](h | 
| 4a600 | 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 | 
| 4a620 | 74 69 6c 65 2f 69 73 73 75 65 73 2f 31 38 38 31    29 3a 20 46 69 78 20 60 70 72 6f 6a 65 63 74 69 | tile/issues/1881):.Fix.`projecti | 
| 4a640 | 6c 65 2d 72 65 63 65 6e 74 66 60 20 77 68 65 6e    20 63 61 6c 6c 65 64 20 6f 75 74 73 69 64 65 20 | le-recentf`.when.called.outside. | 
| 4a660 | 61 6e 79 20 70 72 6f 6a 65 63 74 2e 0a 2a 20 5b    23 31 39 31 30 5d 28 68 74 74 70 73 3a 2f 2f 67 | any.project..*.[#1910](https://g | 
| 4a680 | 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 | 
| 4a6a0 | 6c 2f 31 39 31 30 29 3a 20 52 65 76 65 72 74 73    20 5b 23 31 38 39 35 5d 28 68 74 74 70 73 3a 2f | l/1910):.Reverts.[#1895](https:/ | 
| 4a6c0 | 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 | 
| 4a6e0 | 75 6c 6c 2f 31 38 39 35 29 20 61 73 20 74 68 6f    73 65 20 63 68 61 6e 67 65 73 20 61 70 70 65 61 | ull/1895).as.those.changes.appea | 
| 4a700 | 72 20 74 6f 20 63 61 75 73 65 20 61 20 73 69 67    6e 69 66 69 63 61 6e 74 20 70 65 72 66 6f 72 6d | r.to.cause.a.significant.perform | 
| 4a720 | 61 6e 63 65 20 72 65 67 72 65 73 73 69 6f 6e 20    61 63 72 6f 73 73 20 61 20 6e 75 6d 62 65 72 20 | ance.regression.across.a.number. | 
| 4a740 | 6f 66 20 75 73 65 2d 63 61 73 65 73 2e 0a 2a 20    5b 23 31 39 31 35 5d 28 68 74 74 70 73 3a 2f 2f | of.use-cases..*.[#1915](https:// | 
| 4a760 | 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 | 
| 4a780 | 6c 6c 2f 31 39 31 35 29 3a 20 46 69 78 20 64 6f    74 6e 65 74 2d 73 6c 6e 20 70 72 6f 6a 65 63 74 | ll/1915):.Fix.dotnet-sln.project | 
| 4a7a0 | 2d 74 79 70 65 20 72 65 63 6f 67 6e 69 74 69 6f    6e 2e 20 28 63 68 65 63 6b 20 60 2a 2e 73 6c 6e | -type.recognition..(check.`*.sln | 
| 4a7c0 | 60 20 66 69 6c 65 73 20 69 6e 73 74 65 61 64 20    6f 66 20 60 73 72 63 2f 60 29 0a 2a 20 5b 23 31 | `.files.instead.of.`src/`).*.[#1 | 
| 4a7e0 | 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 2f | 850](https://github.com/bbatsov/ | 
| 4a800 | 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65    73 2f 31 38 35 30 29 3a 20 45 6e 73 75 72 65 20 | projectile/issues/1850):.Ensure. | 
| 4a820 | 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 20 69 6e 20 60 70 72 | the.presence.of.a.project.in.`pr | 
| 4a840 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 64 69 72 60 2e 0a 2a 20 5b 23 31 | ojectile-compilation-dir`..*.[#1 | 
| 4a860 | 38 31 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 76 2f | 811](https://github.com/bbatsov/ | 
| 4a880 | 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65    73 2f 31 38 31 31 29 3a 20 52 65 76 65 72 74 20 | projectile/issues/1811):.Revert. | 
| 4a8a0 | 61 20 63 68 61 6e 67 65 20 74 6f 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d | a.change.to.`projectile-ignored- | 
| 4a8c0 | 64 69 72 65 63 74 6f 72 69 65 73 60 20 74 68 61    74 20 68 61 64 20 63 6f 6e 76 65 72 74 65 64 20 | directories`.that.had.converted. | 
| 4a8e0 | 74 68 65 6d 20 69 6e 74 6f 20 72 65 67 75 6c 61    72 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 2a | them.into.regular.expressions..* | 
| 4a900 | 20 5b 23 31 38 39 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 | .[#1893](https://github.com/bbat | 
| 4a920 | 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69    73 73 75 65 73 2f 31 38 39 33 29 3a 20 46 69 78 | sov/projectile/issues/1893):.Fix | 
| 4a940 | 20 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 73 2d 69 | .`projectile-discover-projects-i | 
| 4a960 | 6e 2d 64 69 72 65 63 74 6f 72 79 60 20 77 68 65    6e 20 63 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 | n-directory`.when.called.interac | 
| 4a980 | 74 69 76 65 6c 79 2e 0a 0a 23 23 23 20 43 68 61    6e 67 65 73 0a 0a 2a 20 5b 23 31 38 37 34 5d 28 | tively...###.Changes..*.[#1874]( | 
| 4a9a0 | 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 | 
| 4a9c0 | 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 38 37 34 29    3a 20 43 68 61 6e 67 65 73 20 60 63 6f 6d 70 69 | ctile/pull/1874):.Changes.`compi | 
| 4a9e0 | 6c 61 74 69 6f 6e 2d 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 | lation-find-file-projectile-find | 
| 4aa00 | 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 62 75 66    66 65 72 60 20 74 6f 20 6e 61 76 69 67 61 74 65 | -compilation-buffer`.to.navigate | 
| 4aa20 | 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65    20 66 69 6c 65 20 69 66 20 61 6c 72 65 61 64 79 | .directly.to.the.file.if.already | 
| 4aa40 | 20 70 72 65 73 65 6e 74 20 6f 6e 20 64 69 73 6b    20 74 6f 20 68 65 6c 70 20 69 6d 70 72 6f 76 65 | .present.on.disk.to.help.improve | 
| 4aa60 | 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 6e 20    73 63 65 6e 61 72 69 6f 73 20 77 68 65 72 65 20 | .performance.in.scenarios.where. | 
| 4aa80 | 74 68 65 72 65 20 61 72 65 20 61 20 6c 61 72 67    65 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 6a | there.are.a.large.number.of.proj | 
| 4aaa0 | 65 63 74 20 64 69 72 65 63 74 6f 72 69 65 73 2e    0a 2a 20 44 72 6f 70 20 73 75 70 70 6f 72 74 20 | ect.directories..*.Drop.support. | 
| 4aac0 | 66 6f 72 20 45 6d 61 63 73 20 32 35 2e 0a 2a 20    52 65 77 6f 72 6b 20 74 68 65 20 63 61 63 68 69 | for.Emacs.25..*.Rework.the.cachi | 
| 4aae0 | 6e 67 20 6c 6f 67 69 63 2e 20 54 68 65 20 6d 61    69 6e 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 | ng.logic..The.main.changes.from. | 
| 4ab00 | 62 65 66 6f 72 65 20 61 72 65 3a 0a 0a 20 20 20    20 2d 20 45 61 63 68 20 70 72 6f 6a 65 63 74 20 | before.are:......-.Each.project. | 
| 4ab20 | 68 61 73 20 69 74 73 20 6f 77 6e 20 63 61 63 68    65 20 66 69 6c 65 0a 20 20 20 20 2d 20 43 61 63 | has.its.own.cache.file.....-.Cac | 
| 4ab40 | 68 65 20 66 69 6c 65 73 20 61 72 65 20 63 6f 6e    73 75 6c 74 65 64 20 6f 6e 6c 79 20 77 68 65 6e | he.files.are.consulted.only.when | 
| 4ab60 | 20 79 6f 75 20 72 65 71 75 65 73 74 20 74 68 65    20 66 69 6c 65 73 20 6f 66 20 73 6f 6d 65 20 70 | .you.request.the.files.of.some.p | 
| 4ab80 | 72 6f 6a 65 63 74 0a 0a 20 20 20 20 54 68 69 73    20 6d 61 6b 65 73 20 63 61 63 68 69 6e 67 20 62 | roject......This.makes.caching.b | 
| 4aba0 | 6f 74 68 20 6d 6f 72 65 20 72 6f 62 75 73 74 20    61 6e 64 20 66 61 73 74 65 72 2c 20 61 73 20 62 | oth.more.robust.and.faster,.as.b | 
| 4abc0 | 65 66 6f 72 65 20 74 68 65 20 63 61 63 68 65 20    66 69 6c 65 0a 20 20 20 20 66 6f 72 20 61 6c 6c | efore.the.cache.file.....for.all | 
| 4abe0 | 20 70 72 6f 6a 65 63 74 73 20 77 61 73 20 6c 6f    61 64 65 64 20 77 68 65 6e 20 70 72 6f 6a 65 63 | .projects.was.loaded.when.projec | 
| 4ac00 | 74 69 6c 65 2d 6d 6f 64 65 20 77 61 73 20 65 6e    61 62 6c 65 64 2e 0a 2a 20 4d 61 6b 65 20 74 68 | tile-mode.was.enabled..*.Make.th | 
| 4ac20 | 65 20 63 61 63 68 65 20 74 72 61 6e 73 69 65 6e    74 20 62 79 20 64 65 66 61 75 6c 74 2e 20 28 6d | e.cache.transient.by.default..(m | 
| 4ac40 | 65 61 6e 69 6e 67 20 69 74 20 6c 69 76 65 73 20    6f 6e 6c 79 20 69 6e 20 6d 65 6d 6f 72 79 20 61 | eaning.it.lives.only.in.memory.a | 
| 4ac60 | 6e 64 20 69 73 20 6e 6f 74 20 70 65 72 73 69 73    74 65 64 20 74 6f 20 61 20 66 69 6c 65 29 0a 20 | nd.is.not.persisted.to.a.file).. | 
| 4ac80 | 20 2a 20 54 6f 20 65 6e 61 62 6c 65 20 70 65 72    73 69 73 74 65 6e 74 20 63 61 63 68 69 6e 67 20 | .*.To.enable.persistent.caching. | 
| 4aca0 | 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 65 74 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 | you.need.to.set.`projectile-enab | 
| 4acc0 | 6c 65 2d 63 61 63 68 69 6e 67 60 20 74 6f 20 60    27 70 65 72 73 69 73 74 65 6e 74 60 2e 0a 2a 20 | le-caching`.to.`'persistent`..*. | 
| 4ace0 | 53 70 65 65 64 2d 75 70 20 6c 6f 61 64 20 74 69    6d 65 20 62 79 20 6d 6f 76 69 6e 67 20 6b 6e 6f | Speed-up.load.time.by.moving.kno | 
| 4ad00 | 77 6e 20 70 72 6f 6a 65 63 74 73 20 69 6e 69 74    69 61 6c 69 7a 61 74 69 6f 6e 20 6f 75 74 73 69 | wn.projects.initialization.outsi | 
| 4ad20 | 64 65 20 6f 66 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 6d 6f 64 65 60 27 73 20 69 6e 69 74 2e 0a | de.of.`projectile-mode`'s.init.. | 
| 4ad40 | 20 20 2a 20 41 73 20 61 20 73 69 64 65 20 65 66    66 65 63 74 20 74 68 65 20 6b 6e 6f 77 6e 20 70 | ..*.As.a.side.effect.the.known.p | 
| 4ad60 | 72 6f 6a 65 63 74 73 20 77 69 6c 6c 20 62 65 20    69 6e 69 74 69 61 6c 69 7a 65 64 20 70 72 6f 70 | rojects.will.be.initialized.prop | 
| 4ad80 | 65 72 6c 79 20 65 76 65 6e 20 69 66 20 79 6f 75    27 72 65 20 6e 6f 74 20 75 73 69 6e 67 20 60 70 | erly.even.if.you're.not.using.`p | 
| 4ada0 | 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 60 2e    0a 20 20 2a 20 54 68 65 20 70 72 6f 6a 65 63 74 | rojectile-mode`....*.The.project | 
| 4adc0 | 73 20 61 72 65 20 72 65 61 64 20 66 72 6f 6d 20    64 69 73 6b 20 74 68 65 20 66 69 72 73 74 20 74 | s.are.read.from.disk.the.first.t | 
| 4ade0 | 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 | ime.you.invoke.`projectile-switc | 
| 4ae00 | 68 2d 70 72 6f 6a 65 63 74 60 20 6f 72 20 61 20    73 69 6d 69 6c 61 72 20 63 6f 6d 6d 61 6e 64 2e | h-project`.or.a.similar.command. | 
| 4ae20 | 0a 2a 20 49 6e 74 72 6f 64 75 63 65 20 61 20 63    6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 66 6f 72 | .*.Introduce.a.common.prefix.for | 
| 4ae40 | 20 70 72 6f 6a 65 63 74 20 6c 69 66 65 63 79 63    6c 65 20 63 6f 6d 6d 61 6e 64 20 6b 65 79 62 69 | .project.lifecycle.command.keybi | 
| 4ae60 | 6e 64 69 6e 67 73 3a 0a 20 20 2a 20 60 63 20 6f    60 20 2d 3e 20 60 70 72 6f 6a 65 63 74 69 6c 65 | ndings:...*.`c.o`.->.`projectile | 
| 4ae80 | 2d 63 6f 6e 66 69 67 75 72 65 2d 70 72 6f 6a 65    63 74 60 0a 20 20 2a 20 60 63 20 63 60 20 2d 3e | -configure-project`...*.`c.c`.-> | 
| 4aea0 | 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 0a 20 20 | .`projectile-compile-project`... | 
| 4aec0 | 2a 20 60 63 20 70 60 20 2d 3e 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 70 61 63 6b 61 67 65 2d 70 | *.`c.p`.->.`projectile-package-p | 
| 4aee0 | 72 6f 6a 65 63 74 60 0a 20 20 2a 20 60 63 20 69    60 20 2d 3e 20 60 70 72 6f 6a 65 63 74 69 6c 65 | roject`...*.`c.i`.->.`projectile | 
| 4af00 | 2d 69 6e 73 74 61 6c 6c 2d 70 72 6f 6a 65 63 74    60 0a 20 20 2a 20 60 63 20 74 60 20 2d 3e 20 60 | -install-project`...*.`c.t`.->.` | 
| 4af20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d    70 72 6f 6a 65 63 74 60 0a 20 20 2a 20 60 63 20 | projectile-test-project`...*.`c. | 
| 4af40 | 72 60 20 2d 3e 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 72 75 6e 2d 70 72 6f 6a 65 63 74 60 0a 20 | r`.->.`projectile-run-project`.. | 
| 4af60 | 20 2a 20 54 68 65 20 6f 6c 64 20 6b 65 79 62 69    6e 64 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 72 | .*.The.old.keybindings.will.be.r | 
| 4af80 | 65 6d 6f 76 65 64 20 69 6e 20 61 20 66 75 74 75    72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 72 | emoved.in.a.future.version.of.Pr | 
| 4afa0 | 6f 6a 65 63 74 69 6c 65 2e 0a 0a 23 23 20 32 2e    38 2e 30 20 28 32 30 32 33 2d 31 30 2d 31 33 29 | ojectile...##.2.8.0.(2023-10-13) | 
| 4afc0 | 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 38 36 32 5d 28 68 74 | ..###.New.features..*.[#1862](ht | 
| 4afe0 | 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 | 
| 4b000 | 69 6c 65 2f 70 75 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 | ile/pull/1862):.Add.project.type | 
| 4b020 | 73 20 22 79 61 72 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 | s."yarn".and."pnpm".separate.fro | 
| 4b040 | 6d 20 22 6e 70 6d 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 | m."npm"..*.[#1851](https://githu | 
| 4b060 | 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 38 | b.com/bbatsov/projectile/pull/18 | 
| 4b080 | 35 31 29 3a 20 41 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 | 51):.Add.ripgrep.to.`projectile- | 
| 4b0a0 | 63 6f 6d 6d 61 6e 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 | commander`.with.binding.`?p`..*. | 
| 4b0c0 | 5b 23 31 38 33 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 | [#1833](https://github.com/bbats | 
| 4b0e0 | 6f 76 2f 70 72 6f 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 | ov/projectile/pull/1833):.Add.Ju | 
| 4b100 | 6c 69 61 20 70 72 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 | lia.project.discovery..*.[#1828] | 
| 4b120 | 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 | 
| 4b140 | 65 63 74 69 6c 65 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 | ectile/pull/1828):.Add.Nimble-ba | 
| 4b160 | 73 65 64 20 4e 69 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 | sed.Nim.project.discovery..*.Add | 
| 4b180 | 20 65 6c 6d 20 70 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 | .elm.project.type..*.[#1821](htt | 
| 4b1a0 | 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 | 
| 4b1c0 | 6c 65 2f 70 75 6c 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 | le/pull/1821):.Add.`pyproject.to | 
| 4b1e0 | 6d 6c 60 20 64 69 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 | ml`.discovery.for.python.project | 
| 4b200 | 73 2e 0a 2a 20 5b 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 | s..*.[#1830](https://github.com/ | 
| 4b220 | 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 33 30 29 3a | bbatsov/projectile/issues/1830): | 
| 4b240 | 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 75 6e 2d 76 74 65 | .Add.command.`projectile-run-vte | 
| 4b260 | 72 6d 2d 6f 74 68 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 | rm-other-window`.and.bind.it.to. | 
| 4b280 | 60 78 20 34 20 76 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 | `x.4.v`...###.Changes..*.[#1839] | 
| 4b2a0 | 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 | 
| 4b2c0 | 65 63 74 69 6c 65 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 | ectile/issues/1839):.Ensure.`pro | 
| 4b2e0 | 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 74 | jectile-toggle-between-implement | 
| 4b300 | 61 74 69 6f 6e 2d 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 | ation-and-test`.also.obeys.`proj | 
| 4b320 | 65 63 74 69 6c 65 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 | ectile-project-test-dir`.and.`pr | 
| 4b340 | 6f 6a 65 63 74 69 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 | ojectile-project-src-dir`..*.[#1 | 
| 4b360 | 32 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 | 285](https://github.com/bbatsov/ | 
| 4b380 | 70 72 6f 6a 65 63 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 | projectile/pull/1825):.By.defaul | 
| 4b3a0 | 74 2c 20 75 73 65 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 | t,.use.[fd](https://github.com/s | 
| 4b3c0 | 68 61 72 6b 64 70 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 | harkdp/fd).in.Git.repositories.i | 
| 4b3e0 | 6e 73 74 65 61 64 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 | nstead.of.`git.ls-files`.when.it | 
| 4b400 | 20 69 73 20 69 6e 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 | .is.installed,.in.order.to.solve | 
| 4b420 | 20 74 68 65 20 70 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 | .the.problem.where.deleted.files | 
| 4b440 | 20 77 65 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 | .were.still.shown.in.`projectile | 
| 4b460 | 2d 66 69 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 | -find-file`.until.their.deletion | 
| 4b480 | 73 20 77 65 72 65 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 | s.were.staged..The.user-facing.b | 
| 4b4a0 | 65 68 61 76 69 6f 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 | ehavior.should.be.the.same,.alth | 
| 4b4c0 | 6f 75 67 68 20 70 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 | ough.potentially.with.different. | 
| 4b4e0 | 70 65 72 66 6f 72 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 | performance.characteristics.in.l | 
| 4b500 | 61 72 67 65 20 47 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 | arge.Git.repositories..The.old.b | 
| 4b520 | 65 68 61 76 69 6f 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 | ehavior.can.be.reclaimed.by.sett | 
| 4b540 | 69 6e 67 20 60 70 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 | ing.`projectile-git-use-fd`.to.n | 
| 4b560 | 69 6c 2e 0a 2a 20 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 | il..*.[#1831](https://github.com | 
| 4b580 | 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 33 31 29 | /bbatsov/projectile/issues/1831) | 
| 4b5a0 | 3a 20 45 6e 61 62 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 | :.Enable.the.project.el.integrat | 
| 4b5c0 | 69 6f 6e 20 6f 6e 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 | ion.only.when.`projectile-mode`. | 
| 4b5e0 | 69 73 20 61 63 74 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 | is.active..*.[#1847](https://git | 
| 4b600 | 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 | 
| 4b620 | 73 2f 31 38 34 37 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 | s/1847):.Use.literal.directory.n | 
| 4b640 | 61 6d 65 20 63 61 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 | ame.casing.when.toggling.between | 
| 4b660 | 20 69 6d 70 6c 20 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 | .impl.and.test...###.Bugs.fixed. | 
| 4b680 | 0a 2a 20 46 69 78 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 | .*.Fix.`fd`.inserting.color.cont | 
| 4b6a0 | 72 6f 6c 20 73 65 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 | rol.sequences.when.used.over.tra | 
| 4b6c0 | 6d 70 2e 0a 2a 20 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 | mp..*.[#1835](https://github.com | 
| 4b6e0 | 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 33 35 29 | /bbatsov/projectile/issues/1835) | 
| 4b700 | 3a 20 52 65 6f 70 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 | :.Reopening.existing.vterm.buffe | 
| 4b720 | 72 20 69 6e 20 6f 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 | r.in.other.window.*.[#1865](http | 
| 4b740 | 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 | 
| 4b760 | 65 2f 70 75 6c 6c 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 | e/pull/1865):.`projectile-generi | 
| 4b780 | 63 2d 63 6f 6d 6d 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 | c-command`.should.use.`projectil | 
| 4b7a0 | 65 2d 66 64 2d 65 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 | e-fd-executable`.to.find.the.pat | 
| 4b7c0 | 68 20 66 6f 72 20 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 | h.for.fd...##.2.7.0.(2022-11-22) | 
| 4b7e0 | 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 35 39 31 5d 28 68 74 | ..###.New.features..*.[#1591](ht | 
| 4b800 | 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 | 
| 4b820 | 69 6c 65 2f 69 73 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 | ile/issues/1591):.Add.`project.e | 
| 4b840 | 6c 60 20 69 6e 74 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 | l`.integration.that.will.make.Pr | 
| 4b860 | 6f 6a 65 63 74 69 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 | ojectile.the.default.provider.fo | 
| 4b880 | 72 20 70 72 6f 6a 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 | r.project.lookup..*.Add.new.comm | 
| 4b8a0 | 61 6e 64 20 60 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 60 | and.`projectile-find-references` | 
| 4b8c0 | 20 28 62 6f 75 6e 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 | .(bound.to.`C-c.C-p.?`.and.`C-c. | 
| 4b8e0 | 43 2d 70 20 73 20 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 | C-p.s.x`)..*.[#1737](https://git | 
| 4b900 | 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/ | 
| 4b920 | 31 37 33 37 29 3a 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 | 1737):.Add.helpers.for.`dir-loca | 
| 4b940 | 6c 2d 76 61 72 69 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 | l-variables`.for.3rd.party.use.. | 
| 4b960 | 46 75 6e 63 74 69 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 | Functions.`projectile-add-dir-lo | 
| 4b980 | 63 61 6c 2d 76 61 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 | cal-variable`.and.`projectile-de | 
| 4b9a0 | 6c 65 74 65 2d 64 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 | lete-dir-local-variable`.wrap.th | 
| 4b9c0 | 65 69 72 20 62 75 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 | eir.built-in.counterparts..They. | 
| 4b9e0 | 61 6c 77 61 79 73 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 | always.use.`.dir-locals.el`.from | 
| 4ba00 | 20 74 68 65 20 72 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 | .the.root.of.the.current.Project | 
| 4ba20 | 69 6c 65 20 70 72 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 | ile.project..*.Add.a.new.defcust | 
| 4ba40 | 6f 6d 20 28 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 29 | om.(`projectile-dirconfig-file`) | 
| 4ba60 | 20 63 6f 6e 74 72 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 | .controlling.the.name.of.the.fil | 
| 4ba80 | 65 20 75 73 65 64 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 | e.used.as.Projectile...s.root.ma | 
| 4baa0 | 72 6b 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 2a 20 5b | rker.and.configuration.file..*.[ | 
| 4bac0 | 23 31 38 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 | #1813](https://github.com/bbatso | 
| 4bae0 | 76 2f 70 72 6f 6a 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 | v/projectile/pull/1813):.Allow.p | 
| 4bb00 | 72 6f 6a 65 63 74 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 | roject-files.to.contain.wildcard | 
| 4bb20 | 73 20 61 6e 64 20 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 | s.and.allow.multiple.project-fil | 
| 4bb40 | 65 73 20 70 65 72 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 | es.per.project.type.registration | 
| 4bb60 | 2e 20 41 64 64 20 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 | ..Add.a.new.project-type.for..NE | 
| 4bb80 | 54 20 73 6f 6c 75 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 | T.solutions...###.Changes..*.[#1 | 
| 4bba0 | 38 31 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 | 812](https://github.com/bbatsov/ | 
| 4bbc0 | 70 72 6f 6a 65 63 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 | projectile/pull/1812):.Add.a.`pr | 
| 4bbe0 | 6f 6a 65 63 74 69 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 | ojectile-root-marked`.function.f | 
| 4bc00 | 6f 72 20 66 69 6e 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 | or.finding.roots.marked.by.`.pro | 
| 4bc20 | 6a 65 63 74 69 6c 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 | jectile`..Prioritize.`.projectil | 
| 4bc40 | 65 60 20 61 62 6f 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 | e`.above.other.bottom-up.root.fi | 
| 4bc60 | 6c 65 73 2e 0a 0a 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 | les...###.Bug.fixed..*.[#1796](h | 
| 4bc80 | 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 | 
| 4bca0 | 74 69 6c 65 2f 69 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 | tile/issues/1796):.Fix.`projecti | 
| 4bcc0 | 6c 65 2d 72 6f 6f 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 | le-root-bottom-up`.doesn't.alway | 
| 4bce0 | 73 20 66 69 6e 64 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 | s.find.bottom-most.file..*.[#179 | 
| 4bd00 | 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 2f 70 72 | 9](https://github.com/bbatsov/pr | 
| 4bd20 | 6f 6a 65 63 74 69 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 | ojectile/pull/1799):.Fix.`projec | 
| 4bd40 | 74 69 6c 65 2d 6f 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 | tile-open-projects`.lists.projec | 
| 4bd60 | 74 73 20 66 6f 72 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 | ts.for.which.all.buffers.are.clo | 
| 4bd80 | 73 65 64 2e 0a 2a 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 | sed..*.[#1806](https://github.co | 
| 4bda0 | 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 36 29 3a | m/bbatsov/projectile/pull/1806): | 
| 4bdc0 | 20 46 69 78 20 60 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 | .Fix.`projectile-project-type`.t | 
| 4bde0 | 6f 20 72 65 74 75 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 | o.return.the.correct.project.typ | 
| 4be00 | 65 20 65 76 65 6e 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 | e.even.when.we.pass.it.the.DIR.a | 
| 4be20 | 72 67 2e 20 41 73 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 | rg..As.a.result.of.the.fix,.`pro | 
| 4be40 | 6a 65 63 74 69 6c 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 | jectile-expand-root`,.`projectil | 
| 4be60 | 65 2d 64 65 74 65 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 | e-detect-project-type`,.`project | 
| 4be80 | 69 6c 65 2d 76 65 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 | ile-verify-files`.,.`projectile- | 
| 4bea0 | 76 65 72 69 66 79 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 | verify-file`.`projectile-verify- | 
| 4bec0 | 66 69 6c 65 2d 77 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 | file-wildcard`,.`projectile-caba | 
| 4bee0 | 6c 2d 70 72 6f 6a 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 | l-project-p`,.`projectile-dotnet | 
| 4bf00 | 2d 70 72 6f 6a 65 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 | -project-p`,.`projectile-go-proj | 
| 4bf20 | 65 63 74 2d 70 60 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 | ect-p`.and.the.newly.factored.ou | 
| 4bf40 | 74 20 60 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 60 20 6e | t.`projectile-eldev-project-p`.n | 
| 4bf60 | 6f 77 20 61 6c 73 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 | ow.also.takes.an.&optional.DIR.a | 
| 4bf80 | 72 67 20 74 6f 20 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 | rg.to.specify.the.directory.it.i | 
| 4bfa0 | 73 20 61 63 74 69 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 | s.acting.on...##.2.6.0.(2022-10- | 
| 4bfc0 | 32 35 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 37 39 30 5d | 25)..###.New.features..*.[#1790] | 
| 4bfe0 | 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 | 
| 4c000 | 65 63 74 69 6c 65 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 | ectile/pull/1790):.Add.`src-dir` | 
| 4c020 | 20 61 6e 64 20 60 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 | .and.`test-dir`.properties.for.t | 
| 4c040 | 68 65 20 6d 69 6c 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 | he.mill.project.type..*.[#1778]( | 
| 4c060 | 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 | 
| 4c080 | 63 74 69 6c 65 2f 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 | ctile/pull/1778):.Allow.`project | 
| 4c0a0 | 69 6c 65 2d 72 65 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 | ile-replace`.to.select.file.exte | 
| 4c0c0 | 6e 73 69 6f 6e 73 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 | nsions.when.using.prefix.arg.(`C | 
| 4c0e0 | 2d 75 60 29 2e 0a 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 | -u`)..*.[#1757](https://github.c | 
| 4c100 | 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 35 37 29 | om/bbatsov/projectile/pull/1757) | 
| 4c120 | 3a 20 41 64 64 20 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 | :.Add.support.for.the.Pijul.VCS. | 
| 4c140 | 0a 2a 20 5b 23 31 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 | .*.[#1745](https://github.com/bb | 
| 4c160 | 61 74 73 6f 76 2f 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 | atsov/projectile/pull/1745):.All | 
| 4c180 | 6f 77 20 60 70 72 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 | ow.`projectile-update-project-ty | 
| 4c1a0 | 70 65 60 20 74 6f 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 | pe`.to.change.project.type.prece | 
| 4c1c0 | 64 65 6e 63 65 20 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 | dence.and.remove.project.options | 
| 4c1e0 | 2e 0a 2a 20 5b 23 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 | ..*.[#1699](https://github.com/b | 
| 4c200 | 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 39 39 29 3a 20 60 70 | batsov/projectile/pull/1699):.`p | 
| 4c220 | 72 6f 6a 65 63 74 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 | rojectile-ripgrep`.now.supports. | 
| 4c240 | 5b 72 67 2e 65 6c 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 | [rg.el](https://github.com/dajva | 
| 4c260 | 2f 72 67 2e 65 6c 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 | /rg.el)..*.[#1712](https://githu | 
| 4c280 | 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/ | 
| 4c2a0 | 31 37 31 32 29 3a 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 | 1712):.Make.it.possible.to.hide. | 
| 4c2c0 | 50 72 6f 6a 65 63 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 | Projectile's.menu..See.`projecti | 
| 4c2e0 | 6c 65 2d 73 68 6f 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 | le-show-menu`..*.[#1718](https:/ | 
| 4c300 | 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 | 
| 4c320 | 73 73 75 65 73 2f 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 | ssues/1718):.Add.a.project.type. | 
| 4c340 | 64 65 66 69 6e 69 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 | definition.for.`GNUMakefile`..*. | 
| 4c360 | 5b 23 31 37 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 | [#1747](https://github.com/bbats | 
| 4c380 | 6f 76 2f 70 72 6f 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 | ov/projectile/pull/1747):.Add.su | 
| 4c3a0 | 70 70 6f 72 74 20 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 | pport.for.preset-based.install-c | 
| 4c3c0 | 6f 6d 6d 61 6e 64 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 | ommands.for.CMake.projects..*.[# | 
| 4c3e0 | 31 37 36 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 | 1768](https://github.com/bbatsov | 
| 4c400 | 2f 70 72 6f 6a 65 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 | /projectile/pull/1768):.Add.supp | 
| 4c420 | 6f 72 74 20 66 6f 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 | ort.for.disabling.command.cachin | 
| 4c440 | 67 20 6f 6e 20 61 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 | g.on.a.per-project.basis..*.[#17 | 
| 4c460 | 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 73 6f 76 2f 70 | 97](https://github.com/bbatsov/p | 
| 4c480 | 72 6f 6a 65 63 74 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 | rojectile/pull/1797):.Make.all.p | 
| 4c4a0 | 72 6f 6a 65 63 74 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 | roject.type.attributes.locally.o | 
| 4c4c0 | 76 65 72 72 69 64 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 | verridable..*.[#1803](https://gi | 
| 4c4e0 | 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 | 
| 4c500 | 2f 31 38 30 33 29 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 | /1803):.Add.support.go-task/task | 
| 4c520 | 2e 0a 0a 0a 23 23 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 | ....###.Bugs.fixed..*.[#1781](ht | 
| 4c540 | 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 | 
| 4c560 | 69 6c 65 2f 70 75 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 | ile/pull/1781):.Fix.`rails-rspec | 
| 4c580 | 60 20 61 6e 64 20 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 | `.and.`rails-test`.to.use.`app`. | 
| 4c5a0 | 69 6e 73 74 65 61 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 | instead.of.`lib`.as.`src-dir`..* | 
| 4c5c0 | 20 5b 23 31 37 36 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 | .[#1762](https://github.com/bbat | 
| 4c5e0 | 73 6f 76 2f 70 72 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 | sov/projectile/pull/1762):.Fix.` | 
| 4c600 | 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 65 64 2d 64 69 72 65 | projectile-globally-ignored-dire | 
| 4c620 | 63 74 6f 72 69 65 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 | ctories`.unescaped.regex..*.[#17 | 
| 4c640 | 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 2f 70 | 13](https://github.com/bbatsov/p | 
| 4c660 | 72 6f 6a 65 63 74 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 | rojectile/issues/1731):.Fix.`pro | 
| 4c680 | 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 64 69 72 | jectile-discover-projects-in-dir | 
| 4c6a0 | 65 63 74 6f 72 79 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 | ectory`.reordering.known.project | 
| 4c6c0 | 73 2e 0a 2a 20 5b 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 | s..*.[#1514](https://github.com/ | 
| 4c6e0 | 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 34 29 3a | bbatsov/projectile/issues/1514): | 
| 4c700 | 20 46 69 78 20 60 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 | .Fix.`projectile-ag`.global.igno | 
| 4c720 | 72 65 73 20 6e 6f 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 | res.not.in.effect..*.[#1714](htt | 
| 4c740 | 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 | 
| 4c760 | 6c 65 2f 69 73 73 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 | le/issues/1714):.Fix.`projectile | 
| 4c780 | 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 60 | -discover-projects-in-directory` | 
| 4c7a0 | 20 6e 6f 74 20 69 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 | .not.interactive..*.[#1734](http | 
| 4c7c0 | 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 | 
| 4c7e0 | 65 2f 70 75 6c 6c 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 | e/pull/1734):.Make.`projectile-- | 
| 4c800 | 66 69 6e 64 2d 6d 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 | find-matching-test`.use.`src-dir | 
| 4c820 | 2f 74 65 73 74 2d 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 | /test-dir`.properties..*.[#1750] | 
| 4c840 | 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 | 
| 4c860 | 65 63 74 69 6c 65 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 | ectile/issues/1750):.Fix.source. | 
| 4c880 | 61 6e 64 20 74 65 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 | and.test.directories.for.Maven.p | 
| 4c8a0 | 72 6f 6a 65 63 74 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 | rojects..*.[#1765](https://githu | 
| 4c8c0 | 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/ | 
| 4c8e0 | 31 37 36 35 29 3a 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 | 1765):.Fix.`src-dir`/`test-dir`. | 
| 4c900 | 6e 6f 74 20 64 65 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 | not.defaulting.to.`"src/"`.and.` | 
| 4c920 | 22 74 65 73 74 2f 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 | "test/"`.with.`projectile-toggle | 
| 4c940 | 2d 62 65 74 77 65 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 | -between-implementation-and-test | 
| 4c960 | 60 2e 0a 2a 20 46 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 | `..*.Fix.version.extraction.logi | 
| 4c980 | 63 2e 0a 2a 20 5b 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 | c..*.[1654](https://github.com/b | 
| 4c9a0 | 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 35 34 29 20 46 | batsov/projectile/issues/1654).F | 
| 4c9c0 | 69 78 20 63 6f 6e 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 | ix.consecutive.duplicates.appear | 
| 4c9e0 | 69 6e 67 20 69 6e 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 | ing.in.command.history..*.[#1755 | 
| 4ca00 | 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 | 
| 4ca20 | 6a 65 63 74 69 6c 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 | jectile/issues/1755).Cache.failu | 
| 4ca40 | 72 65 20 74 6f 20 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 | re.to.find.project.root...###.Ch | 
| 4ca60 | 61 6e 67 65 73 0a 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 | anges..*.[#1785](https://github. | 
| 4ca80 | 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 38 35 | com/bbatsov/projectile/pull/1785 | 
| 4caa0 | 29 3a 20 47 69 76 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 | ):.Give.the.project.type."go".hi | 
| 4cac0 | 67 68 65 72 20 70 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 | gher.precedence.than.universal.t | 
| 4cae0 | 79 70 65 73 2c 20 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 | ypes,.namely."make"..*.[#1447](h | 
| 4cb00 | 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 | 
| 4cb20 | 74 69 6c 65 2f 69 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 | tile/issues/1447):.Restructure.t | 
| 4cb40 | 68 65 20 6d 65 6e 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 | he.menu..*.[#1692](https://githu | 
| 4cb60 | 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/ | 
| 4cb80 | 31 36 39 32 29 3a 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 | 1692):.Enable.minibuffer.complet | 
| 4cba0 | 69 6f 6e 73 20 77 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 | ions.when.reading.shell-commands | 
| 4cbc0 | 2e 0a 2a 20 43 68 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 | ..*.Change.the.Grails.project.ma | 
| 4cbe0 | 72 6b 65 72 20 74 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 | rker.to.`application.yml`..*.[#1 | 
| 4cc00 | 37 38 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 2f | 789](https://github.com/bbatsov/ | 
| 4cc20 | 70 72 6f 6a 65 63 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 | projectile/pull/1789):.Progress. | 
| 4cc40 | 72 65 70 6f 72 74 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 | reporter.for.recursive.progress. | 
| 4cc60 | 64 69 73 63 6f 76 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 | discovery..*.[#1708](https://git | 
| 4cc80 | 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 | 
| 4cca0 | 73 2f 31 37 30 38 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 | s/1708):.`projectile-ripgrep`.no | 
| 4ccc0 | 77 20 63 6f 6e 73 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 | w.consistently.searches.hidden.f | 
| 4cce0 | 69 6c 65 73 2e 0a 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 | iles...##.2.5.0.(2021-08-10)..## | 
| 4cd00 | 23 20 4e 65 77 20 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 | #.New.features..*.[#1680](https: | 
| 4cd20 | 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/ | 
| 4cd40 | 70 75 6c 6c 2f 31 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 | pull/1680):.Add.support.for.recu | 
| 4cd60 | 72 73 69 76 65 20 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 | rsive.project.discovery..*.[#167 | 
| 4cd80 | 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 76 2f 70 72 | 1](https://github.com/bbatsov/pr | 
| 4cda0 | 6f 6a 65 63 74 69 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 | ojectile/pull/1671)/[#1679](http | 
| 4cdc0 | 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 | 
| 4cde0 | 65 2f 70 75 6c 6c 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 | e/pull/1679):.Allow.the.`:test-d | 
| 4ce00 | 69 72 60 20 61 6e 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 | ir`.and.`:src-dir`.options.of.a. | 
| 4ce20 | 70 72 6f 6a 65 63 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 | project.to.be.set.to.functions.f | 
| 4ce40 | 6f 72 20 6d 6f 72 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 | or.more.flexible.test.switching. | 
| 4ce60 | 0a 2a 20 5b 23 31 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 | .*.[#1672](https://github.com/bb | 
| 4ce80 | 61 74 73 6f 76 2f 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 | atsov/projectile/pull/1672):.Add | 
| 4cea0 | 20 60 70 72 6f 6a 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 | .`projectile-<cmd>-use-comint-mo | 
| 4cec0 | 64 65 60 20 76 61 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 | de`.variables.(where.`<cmd>`.is. | 
| 4cee0 | 60 63 6f 6e 66 69 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 | `configure`,.`compile`,.`test`,. | 
| 4cf00 | 60 69 6e 73 74 61 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 | `install`,.`package`,.or.`run`). | 
| 4cf20 | 20 54 68 65 73 65 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 | .These.enable.interactive.compil | 
| 4cf40 | 61 74 69 6f 6e 20 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 | ation.buffers..*.[#1705](https:/ | 
| 4cf60 | 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 | 
| 4cf80 | 75 6c 6c 2f 31 37 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 | ull/1705):.Add.project.detection | 
| 4cfa0 | 20 66 6f 72 20 4e 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 | .for.Nix.flakes...###.Bugs.fixed | 
| 4cfc0 | 0a 0a 2a 20 5b 23 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 | ..*.[#1550](https://github.com/b | 
| 4cfe0 | 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 35 30 29 3a 20 | batsov/projectile/issues/1550):. | 
| 4d000 | 4d 61 6b 65 20 60 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 | Make.`projectile-regenerate-tags | 
| 4d020 | 60 20 74 72 61 6d 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 | `.tramp-aware..*.[#1673](https:/ | 
| 4d040 | 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 | 
| 4d060 | 73 73 75 65 73 2f 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 | ssues/1673):.Fix.CMake.system-pr | 
| 4d080 | 65 73 65 74 20 66 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 | eset.filename..*.[#1691](https:/ | 
| 4d0a0 | 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 | 
| 4d0c0 | 75 6c 6c 2f 31 36 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 | ull/1691):.Fix.`compilation-find | 
| 4d0e0 | 2d 66 69 6c 65 60 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 | -file`.advice.handling.of.direct | 
| 4d100 | 6f 72 79 2e 0a 0a 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 | ory...###.Changes..*.Remove.`pkg | 
| 4d120 | 2d 69 6e 66 6f 60 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 | -info`.dependency...##.2.4.0.(20 | 
| 4d140 | 32 31 2d 30 35 2d 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 | 21-05-27)..###.New.features..*.A | 
| 4d160 | 64 64 20 60 70 72 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 | dd.`projectile-update-project-ty | 
| 4d180 | 70 65 60 20 66 75 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 | pe`.function.for.updating.the.pr | 
| 4d1a0 | 6f 70 65 72 74 69 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 | operties.of.existing.project.typ | 
| 4d1c0 | 65 73 2e 0a 2a 20 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 | es..*.[#1658](https://github.com | 
| 4d1e0 | 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 35 38 29 3a 20 | /bbatsov/projectile/pull/1658):. | 
| 4d200 | 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 65 73 65 74 2d 6b 6e | New.command.`projectile-reset-kn | 
| 4d220 | 6f 77 6e 2d 70 72 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 | own-projects`..*.[#1656](https:/ | 
| 4d240 | 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 | 
| 4d260 | 75 6c 6c 2f 31 36 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 | ull/1656):.Add.support.for.CMake | 
| 4d280 | 20 63 6f 6e 66 69 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 | .configure,.build.and.test.prese | 
| 4d2a0 | 74 73 2e 20 45 6e 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 | ts..Enabled.by.setting.`projecti | 
| 4d2c0 | 6c 65 2d 63 6d 61 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 | le-cmake-presets`.to.non-nil,.di | 
| 4d2e0 | 73 61 62 6c 65 64 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 | sabled.by.default..*.Add.optiona | 
| 4d300 | 6c 20 70 61 72 61 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 | l.parameters.to.`projectile-run- | 
| 4d320 | 73 68 65 6c 6c 2d 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 | shell-command-in-root`.and.`proj | 
| 4d340 | 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 6e 64 2d 69 | ectile-run-async-shell-command-i | 
| 4d360 | 6e 2d 72 6f 6f 74 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 | n-root`..###.Changes..*.Add.`pro | 
| 4d380 | 6a 65 63 74 60 20 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 | ject`.param.to.`projectile-gener | 
| 4d3a0 | 61 74 65 2d 70 72 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 | ate-process-name`..*.[#1608](htt | 
| 4d3c0 | 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 | 
| 4d3e0 | 6c 65 2f 70 75 6c 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 | le/pull/1608):.Use.rebar3.build. | 
| 4d400 | 73 79 73 74 65 6d 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 | system.by.default.for.Erlang.pro | 
| 4d420 | 6a 65 63 74 73 2e 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 | jects..*.Rename.`projectile-proj | 
| 4d440 | 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 20 74 6f 20 60 70 72 | ect-root-files-functions`.to.`pr | 
| 4d460 | 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 69 6f 6e 73 60 | ojectile-project-root-functions` | 
| 4d480 | 2e 0a 2a 20 5b 23 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 | ..*.[#1647](https://github.com/b | 
| 4d4a0 | 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 34 37 29 3a 20 | batsov/projectile/issues/1647):. | 
| 4d4c0 | 55 73 65 20 22 2d 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 | Use."-B".in.the.mvn.commands.to. | 
| 4d4e0 | 61 76 6f 69 64 20 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 | avoid.ANSI.coloring.clutter.in.t | 
| 4d500 | 68 65 20 63 6f 6d 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 | he.compile.buffer.*.[#1657](http | 
| 4d520 | 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 | 
| 4d540 | 65 2f 70 75 6c 6c 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 | e/pull/1657):.Add.project.detect | 
| 4d560 | 69 6f 6e 20 66 6f 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 | ion.for.Debian.packaging.directo | 
| 4d580 | 72 69 65 73 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 62 2e 63 | ries..*.[#1656](https://github.c | 
| 4d5a0 | 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 35 36 29 | om/bbatsov/projectile/pull/1656) | 
| 4d5c0 | 3a 20 43 4d 61 6b 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 | :.CMake.compilation-dir.removed. | 
| 4d5e0 | 74 6f 20 61 63 63 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 | to.accommodate.preset.support,.c | 
| 4d600 | 6f 6d 6d 61 6e 64 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 | ommands.adjusted.to.run.from.pro | 
| 4d620 | 6a 65 63 74 2d 72 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 | ject-root,.with."build".still.be | 
| 4d640 | 69 6e 67 20 74 68 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 | ing.the.default.build-directory. | 
| 4d660 | 20 54 68 65 20 6e 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 | .The.non-preset.test-command.now | 
| 4d680 | 20 75 73 65 73 20 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 | .uses."cmake".with."--target.tes | 
| 4d6a0 | 74 22 20 69 6e 73 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 | t".instead.of."ctest"...###.Bugs | 
| 4d6c0 | 20 66 69 78 65 64 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 | .fixed..*.[#1639](https://github | 
| 4d6e0 | 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 33 | .com/bbatsov/projectile/pull/163 | 
| 4d700 | 39 29 3a 20 44 6f 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 | 9):.Do.not.ask.twice.for.project | 
| 4d720 | 20 72 75 6e 6e 69 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 | .running.ielm,.term.and.vterm..* | 
| 4d740 | 20 5b 23 31 32 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 | .[#1250](https://github.com/bbat | 
| 4d760 | 73 6f 76 2f 70 72 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 | sov/projectile/issues/1250):.Fix | 
| 4d780 | 20 60 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 65 64 2d 64 69 | .`projectile-globally-ignored-di | 
| 4d7a0 | 72 65 63 74 6f 72 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 | rectories`.not.working.with.nati | 
| 4d7c0 | 76 65 20 69 6e 64 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 | ve.indexing..*.[#1438](https://g | 
| 4d7e0 | 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 | 
| 4d800 | 6c 2f 31 34 33 38 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 | l/1438):.Make.sure.`projectile-f | 
| 4d820 | 69 6c 65 73 2d 76 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 | iles-via-ext-command`.returns.fi | 
| 4d840 | 6c 65 73 2c 20 6e 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 | les,.not.errors..*.[#1450](https | 
| 4d860 | 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 | 
| 4d880 | 2f 70 75 6c 6c 2f 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 | /pull/1450):.Call.`switch-projec | 
| 4d8a0 | 74 2d 61 63 74 69 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 | t-action`.within.project's.temp. | 
| 4d8c0 | 62 75 66 66 65 72 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 | buffer..*.[#1340](https://github | 
| 4d8e0 | 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 33 34 | .com/bbatsov/projectile/pull/134 | 
| 4d900 | 30 29 3a 20 46 69 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 | 0):.Fix.remote.projects.being.re | 
| 4d920 | 6d 6f 76 65 64 20 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 | moved.if.TRAMP.can't.connect..*. | 
| 4d940 | 5b 23 31 36 35 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 | [#1655](https://github.com/bbats | 
| 4d960 | 6f 76 2f 70 72 6f 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 | ov/projectile/pull/1655):.Fix.`p | 
| 4d980 | 72 6f 6a 65 63 74 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 | rojectile-replace-regexp`.search | 
| 4d9a0 | 69 6e 67 20 74 68 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 | ing.the.wrong.files.when.called. | 
| 4d9c0 | 77 69 74 68 20 70 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 | with.prefix.arg..*.[#1659](https | 
| 4d9e0 | 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 | 
| 4da00 | 2f 69 73 73 75 65 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 | /issues/1659):.Fix.`projectile-p | 
| 4da20 | 72 6f 6a 65 63 74 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 | roject-vcs`.to.work.outside.a.pr | 
| 4da40 | 6f 6a 65 63 74 2e 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 | oject..*.[#1637](https://github. | 
| 4da60 | 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 36 31 | com/bbatsov/projectile/pull/1661 | 
| 4da80 | 29 3a 20 49 6e 74 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 | ):.Integrate.with.savehist-mode. | 
| 4daa0 | 0a 0a 23 23 20 32 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 | ..##.2.3.0.(2020-11-27)..###.New | 
| 4dac0 | 20 66 65 61 74 75 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 | .features..*.[#1517](https://git | 
| 4dae0 | 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 | 
| 4db00 | 73 2f 31 35 31 37 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 | s/1517):.Add.project-specific.co | 
| 4db20 | 6d 70 69 6c 61 74 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 | mpilation.buffers.and.only.ask.t | 
| 4db40 | 6f 20 73 61 76 65 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 | o.save.files.in.the.project.when | 
| 4db60 | 20 63 6f 6d 70 69 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 | .compiling..*.New.functions.`pro | 
| 4db80 | 6a 65 63 74 69 6c 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 | jectile-acquire-root`.and.`proje | 
| 4dba0 | 63 74 69 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 | ctile-process-current-project-bu | 
| 4dbc0 | 66 66 65 72 73 2d 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 | ffers-current`.*.New.project.com | 
| 4dbe0 | 6d 61 6e 64 73 20 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 | mands.`projectile-package-projec | 
| 4dc00 | 74 60 2c 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 63 74 60 | t`,.`projectile-install-project` | 
| 4dc20 | 2e 0a 2a 20 5b 23 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 | ..*.[#1539](https://github.com/b | 
| 4dc40 | 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 33 39 29 3a 20 4e 65 | batsov/projectile/pull/1539):.Ne | 
| 4dc60 | 77 20 64 65 66 63 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 | w.defcustom.`projectile-auto-dis | 
| 4dc80 | 63 6f 76 65 72 60 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 | cover`.controlling.whether.to.au | 
| 4dca0 | 74 6f 6d 61 74 69 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 | tomatically.discover.projects.in | 
| 4dcc0 | 20 74 68 65 20 73 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 | .the.search.path.when.`projectil | 
| 4dce0 | 65 2d 6d 6f 64 65 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 | e-mode`.activates..*.Add.[emacs- | 
| 4dd00 | 65 6c 64 65 76 5d 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 | eldev](https://github.com/double | 
| 4dd20 | 70 2f 65 6c 64 65 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 | p/eldev).project.type..*.Add.Dar | 
| 4dd40 | 74 20 70 72 6f 6a 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 | t.project.type..*.[#1555](https: | 
| 4dd60 | 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/ | 
| 4dd80 | 70 75 6c 6c 2f 31 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 | pull/1555):.Add.search.with.ripg | 
| 4dda0 | 72 65 70 2e 0a 2a 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 | rep..*.Add.Python-poetry.project | 
| 4ddc0 | 20 74 79 70 65 2e 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 | .type..*.[#1576](https://github. | 
| 4dde0 | 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 35 37 36 | com/bbatsov/projectile/pull/1576 | 
| 4de00 | 29 3a 20 41 64 64 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 | ):.Add.OCaml.[Dune](https://gith | 
| 4de20 | 75 62 2e 63 6f 6d 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 | ub.com/ocaml/dune).project.type. | 
| 4de40 | 0a 2a 20 41 64 64 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 | .*.Add.[Mill](http://www.lihaoyi | 
| 4de60 | 2e 63 6f 6d 2f 6d 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 | .com/mill/).project.type..*.Auto | 
| 4de80 | 2d 64 65 74 65 63 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 | -detect.completion.system,.suppo | 
| 4dea0 | 72 74 69 6e 67 20 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 | rting.`ido`,.`ivy`,.`helm`.and.t | 
| 4dec0 | 68 65 20 64 65 66 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 | he.default.completion.system...# | 
| 4dee0 | 23 23 20 43 68 61 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 | ##.Changes..*.[#1540](https://gi | 
| 4df00 | 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 | 
| 4df20 | 2f 31 35 34 30 29 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 | /1540):.Add.default.`test-suffix | 
| 4df40 | 60 20 74 6f 20 41 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 | `.to.Angular.projects..*.Add.a.` | 
| 4df60 | 3a 70 72 6f 6a 65 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 | :project-file`.param.to.`project | 
| 4df80 | 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 2e 0a 2a 20 5b 23 | ile-register-project-type`..*.[# | 
| 4dfa0 | 31 35 38 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 | 1588](https://github.com/bbatsov | 
| 4dfc0 | 2f 70 72 6f 6a 65 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 | /projectile/pull/1588):.Improve. | 
| 4dfe0 | 70 65 72 66 6f 72 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 | performance.of.`projectile-ibuff | 
| 4e000 | 65 72 60 20 77 69 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 | er`.with.many.buffers.not.in.pro | 
| 4e020 | 6a 65 63 74 2e 0a 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 | ject..*.[#1601](https://github.c | 
| 4e040 | 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 30 31 29 | om/bbatsov/projectile/pull/1601) | 
| 4e060 | 3a 20 49 6d 70 6c 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 | :.Implement.separate.compilation | 
| 4e080 | 20 63 6f 6d 6d 61 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 | .command.history.for.each.projec | 
| 4e0a0 | 74 2e 0a 0a 23 23 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 | t...###.Bugs.fixed..*.[#1377](ht | 
| 4e0c0 | 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 | 
| 4e0e0 | 69 6c 65 2f 69 73 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 | ile/issues/1377):.Fix.`projectil | 
| 4e100 | 65 2d 72 65 67 65 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 | e-regenerate-tags`.directory...# | 
| 4e120 | 23 20 32 2e 32 2e 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 | #.2.2.0.(2020-06-10)..###.New.fe | 
| 4e140 | 61 74 75 72 65 73 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 | atures..*.[#1523](https://github | 
| 4e160 | 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 31 | .com/bbatsov/projectile/issues/1 | 
| 4e180 | 35 32 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 70 72 6f 6a | 523):.Add.a.new.defcustom.(`proj | 
| 4e1a0 | 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 60 29 20 63 | ectile-max-file-buffer-count`).c | 
| 4e1c0 | 6f 6e 74 72 6f 6c 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 | ontrolling.how.many.opened.file. | 
| 4e1e0 | 62 75 66 66 65 72 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 | buffers.should.Projectile.mainta | 
| 4e200 | 69 6e 20 70 65 72 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 | in.per.project..*.Optional.suppo | 
| 4e220 | 72 74 20 66 6f 72 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 | rt.for.comments.in..projectile.d | 
| 4e240 | 69 72 63 6f 6e 66 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 | irconfig.files.using.`projectile | 
| 4e260 | 2d 64 69 72 63 6f 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 | -dirconfig-comment-prefix`..*.[# | 
| 4e280 | 31 34 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 73 6f 76 | 1497](https://github.com/bbatsov | 
| 4e2a0 | 2f 70 72 6f 6a 65 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 | /projectile/pull/1497):.New.comm | 
| 4e2c0 | 61 6e 64 20 60 70 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 | and.`projectile-run-gdb`.(<kbd>x | 
| 4e2e0 | 20 67 3c 2f 6b 62 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 | .g</kbd>.in.`projectile-command- | 
| 4e300 | 6d 61 70 60 29 2e 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 | map`)..*.Add.[Bazel](https://baz | 
| 4e320 | 65 6c 2e 62 75 69 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 | el.build).project.type...###.Bug | 
| 4e340 | 73 20 66 69 78 65 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 | s.fixed..*.[#1503](https://githu | 
| 4e360 | 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 35 | b.com/bbatsov/projectile/pull/15 | 
| 4e380 | 30 33 29 3a 20 4c 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 | 03):.Leave.archive.before.search | 
| 4e3a0 | 69 6e 67 20 66 6f 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 | ing.for.the.project.root...###.C | 
| 4e3c0 | 68 61 6e 67 65 73 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 | hanges..*.[#1528](https://github | 
| 4e3e0 | 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 35 32 | .com/bbatsov/projectile/pull/152 | 
| 4e400 | 38 29 3a 20 49 6d 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 | 8):.Improve.massively.the.perfor | 
| 4e420 | 6d 61 6e 63 65 20 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 | mance.of.native.indexing.(it's.a | 
| 4e440 | 72 6f 75 6e 64 20 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 | round.10x.faster.now)...##.2.1.0 | 
| 4e460 | 20 28 32 30 32 30 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 | .(2020-02-04)..###.New.features. | 
| 4e480 | 0a 2a 20 5b 23 31 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 | .*.[#1486](https://github.com/bb | 
| 4e4a0 | 61 74 73 6f 76 2f 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 | atsov/projectile/pull/1486).Allo | 
| 4e4c0 | 77 20 60 70 72 6f 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 | w.`projectile-run-shell/eshell/t | 
| 4e4e0 | 65 72 6d 2f 76 74 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 | erm/vterm/ielm`.to.start.extra.p | 
| 4e500 | 72 6f 63 65 73 73 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 | rocesses.if.invoked.with.the.pre | 
| 4e520 | 66 69 78 20 61 72 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 | fix.argument..*.New.command.`pro | 
| 4e540 | 6a 65 63 74 69 6c 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 | jectile-run-vterm`.(<kbd>x.v</kb | 
| 4e560 | 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`). | 
| 4e580 | 0a 2a 20 41 64 64 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 | .*.Add.`related-files-fn`.option | 
| 4e5a0 | 20 74 6f 20 75 73 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 | .to.use.custom.function.to.find. | 
| 4e5c0 | 74 65 73 74 2f 69 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 | test/impl/other.files..*.[#1019] | 
| 4e5e0 | 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 | 
| 4e600 | 65 63 74 69 6c 65 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 | ectile/issues/1019):.Jump.to.a.t | 
| 4e620 | 65 73 74 20 6e 61 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 | est.named.the.same.way.but.in.a. | 
| 4e640 | 64 69 66 66 65 72 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 | different.directory..*.[#982](ht | 
| 4e660 | 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 | 
| 4e680 | 69 6c 65 2f 69 73 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 | ile/issues/982):.Add.heuristic.f | 
| 4e6a0 | 6f 72 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 | or.projectile-find-matching-test | 
| 4e6c0 | 2e 0a 2a 20 53 75 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 | ..*.Support.a.list.of.functions. | 
| 4e6e0 | 66 6f 72 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 73 20 61 | for.`related-files-fn`.options.a | 
| 4e700 | 6e 64 20 68 65 6c 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 | nd.helper.functions..*.[#1405](h | 
| 4e720 | 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 | 
| 4e740 | 74 69 6c 65 2f 70 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 | tile/pull/1405):.Add.Bloop.Scala | 
| 4e760 | 20 62 75 69 6c 64 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 | .build.server.project.detection. | 
| 4e780 | 0a 2a 20 5b 23 31 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 | .*.[#1418](https://github.com/bb | 
| 4e7a0 | 61 74 73 6f 76 2f 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 | atsov/projectile/pull/1418):.The | 
| 4e7c0 | 20 70 72 65 73 65 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 | .presence.of.a.`go.mod`.file.imp | 
| 4e7e0 | 6c 69 65 73 20 61 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 | lies.a.go.project..*.[#1419](htt | 
| 4e800 | 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 | 
| 4e820 | 6c 65 2f 70 75 6c 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 | le/pull/1419):.When.possible,.us | 
| 4e840 | 65 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 | e.[fd](https://github.com/sharkd | 
| 4e860 | 70 2f 66 64 29 20 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 | p/fd).instead.of.`find`.to.list. | 
| 4e880 | 74 68 65 20 66 69 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 | the.files.of.a.non-VCS.project.. | 
| 4e8a0 | 54 68 69 73 20 73 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 | This.should.be.much.faster...### | 
| 4e8c0 | 20 42 75 67 73 20 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 | .Bugs.fixed..*.[#675](https://gi | 
| 4e8e0 | 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 | 
| 4e900 | 65 73 2f 36 37 35 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 | es/675):.Performance.improvement | 
| 4e920 | 20 66 6f 72 20 6e 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 | .for.native.project.indexing.str | 
| 4e940 | 61 74 65 67 79 2e 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 | ategy..*.[#97](https://github.co | 
| 4e960 | 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 37 29 3a | m/bbatsov/projectile/issues/97): | 
| 4e980 | 20 52 65 73 70 65 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 | .Respect.`.projectile`.ignores.w | 
| 4e9a0 | 68 69 63 68 20 61 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 | hich.are.paths.to.files.and.patt | 
| 4e9c0 | 65 72 6e 73 20 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 | erns.when.using.`projectile-grep | 
| 4e9e0 | 60 2e 0a 2a 20 5b 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 | `..*.[#1391](https://github.com/ | 
| 4ea00 | 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 33 39 31 29 3a | bbatsov/projectile/issues/1391): | 
| 4ea20 | 20 41 20 60 2e 63 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 | .A.`.cabal`.sub-directory.is.no. | 
| 4ea40 | 6c 6f 6e 67 65 72 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 | longer.considered.project.indica | 
| 4ea60 | 74 6f 72 2e 0a 2a 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 | tor..*.[#1385](https://github.co | 
| 4ea80 | 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 33 38 35 | m/bbatsov/projectile/issues/1385 | 
| 4eaa0 | 29 3a 20 55 70 64 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 | ):.Update.`projectile-replace`.f | 
| 4eac0 | 6f 72 20 45 6d 61 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 | or.Emacs.27..*.[#1432](https://g | 
| 4eae0 | 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 | 
| 4eb00 | 75 65 73 2f 31 34 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 | ues/1432):.Support..NET.project. | 
| 4eb20 | 0a 2a 20 5b 23 31 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 | .*.[#1270](https://github.com/bb | 
| 4eb40 | 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 30 29 3a 20 46 | atsov/projectile/issues/1270):.F | 
| 4eb60 | 69 78 20 72 75 6e 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 | ix.running.commands.that.don't.h | 
| 4eb80 | 61 76 65 20 61 20 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 | ave.a.default.value..*.[#1475](h | 
| 4eba0 | 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 | 
| 4ebc0 | 74 69 6c 65 2f 69 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 | tile/issues/1475):.Fix.directori | 
| 4ebe0 | 65 73 20 62 65 69 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 | es.being.ignored.with.hybrid.mod | 
| 4ec00 | 65 20 64 65 73 70 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 | e.despite.being.explicitly.unign | 
| 4ec20 | 6f 72 65 64 2e 0a 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 | ored..*.[#1482](https://github.c | 
| 4ec40 | 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 38 | om/bbatsov/projectile/issues/148 | 
| 4ec60 | 32 29 3a 20 52 75 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 | 2):.Run.a.separate.grep.buffer.p | 
| 4ec80 | 65 72 20 70 72 6f 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 | er.project.root..*.[#1488](https | 
| 4eca0 | 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 | 
| 4ecc0 | 2f 69 73 73 75 65 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 | /issues/1488):.Fix.`projectile-f | 
| 4ece0 | 69 6e 64 2d 66 69 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 | ind-file-in-directory`.when.in.a | 
| 4ed00 | 20 73 75 62 64 69 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 | .subdir.of.`projectile-project-r | 
| 4ed20 | 6f 6f 74 60 2e 0a 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 | oot`...##.2.0.0.(2019-01-01)..## | 
| 4ed40 | 23 20 4e 65 77 20 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 | #.New.features..*.[#972](https:/ | 
| 4ed60 | 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 | 
| 4ed80 | 73 73 75 65 73 2f 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 | ssues/972):.Add.toggle.for.proje | 
| 4eda0 | 63 74 20 72 65 61 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 | ct.read.only.mode:.`projectile-t | 
| 4edc0 | 6f 67 67 6c 65 2d 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 | oggle-project-read-only`..*.New. | 
| 4ede0 | 69 6e 74 65 72 61 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 | interactive.command.`projectile- | 
| 4ee00 | 72 75 6e 2d 69 65 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 | run-ielm`..*.Add.[crystal](https | 
| 4ee20 | 3a 2f 2f 63 72 79 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 | ://crystal-lang.org).project.typ | 
| 4ee40 | 65 2e 0a 2a 20 5b 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 | e..*.[#850](https://github.com/b | 
| 4ee60 | 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 35 30 29 3a 20 4d | batsov/projectile/issues/850):.M | 
| 4ee80 | 61 6b 65 20 69 74 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 | ake.it.possible.to.prompt.for.a. | 
| 4eea0 | 70 72 6f 6a 65 63 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 | project,.when.you're.not.in.a.pr | 
| 4eec0 | 6f 6a 65 63 74 2c 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 | oject,.instead.of.raising.an.err | 
| 4eee0 | 6f 72 2e 20 28 73 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 | or..(see.`projectile-require-pro | 
| 4ef00 | 6a 65 63 74 2d 72 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 | ject-root`)..*.[#1147](https://g | 
| 4ef20 | 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 | 
| 4ef40 | 75 65 73 2f 31 31 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 | ues/1147):.Introduce.a.new.index | 
| 4ef60 | 69 6e 67 20 6d 65 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 | ing.method.called.`hybrid`.which | 
| 4ef80 | 20 62 65 68 61 76 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 | .behaves.like.the.old.`alien`..* | 
| 4efa0 | 20 5b 23 38 39 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 | .[#896](https://github.com/bbats | 
| 4efc0 | 6f 76 2f 70 72 6f 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 | ov/projectile/issues/896).Add.co | 
| 4efe0 | 6d 6d 61 6e 64 73 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 | mmands.`projectile-previous-proj | 
| 4f000 | 65 63 74 2d 62 75 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 | ect-buffer.`.and.`projectile-nex | 
| 4f020 | 74 2d 70 72 6f 6a 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 | t-project-buffer`.to.switch.to.o | 
| 4f040 | 74 68 65 72 20 62 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 | ther.buffer.in.the.project..*.[# | 
| 4f060 | 31 30 31 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 | 1016](https://github.com/bbatsov | 
| 4f080 | 2f 70 72 6f 6a 65 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 | /projectile/issues/1016):.Add.a. | 
| 4f0a0 | 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 2d 63 75 72 72 65 | new.defcustom.(`projectile-curre | 
| 4f0c0 | 6e 74 2d 70 72 6f 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 | nt-project-on-switch`).controlli | 
| 4f0e0 | 6e 67 20 77 68 61 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 | ng.what.to.do.with.the.current.p | 
| 4f100 | 72 6f 6a 65 63 74 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 | roject.on.switch..*.[#1233](http | 
| 4f120 | 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 | 
| 4f140 | 65 2f 69 73 73 75 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 | e/issues/1233):.Add.a.new.defcus | 
| 4f160 | 74 6f 6d 20 28 60 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 | tom.(`projectile-kill-buffers-fi | 
| 4f180 | 6c 74 65 72 60 29 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 | lter`).controlling.which.buffers | 
| 4f1a0 | 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- | 
| 4f1c0 | 62 75 66 66 65 72 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 | buffers`..*.[#1279](https://gith | 
| 4f1e0 | 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 | 
| 4f200 | 2f 31 32 37 39 29 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 | /1279):.Add.command.`projectile- | 
| 4f220 | 72 65 70 65 61 74 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 | repeat-last-command`.to.re-execu | 
| 4f240 | 74 65 20 74 68 65 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 | te.the.last.external.command.in. | 
| 4f260 | 61 20 70 72 6f 6a 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 | a.project...###.Changes..*.**(Br | 
| 4f280 | 65 61 6b 69 6e 67 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 | eaking)**.[#1147](https://github | 
| 4f2a0 | 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 31 | .com/bbatsov/projectile/issues/1 | 
| 4f2c0 | 31 34 37 29 3a 20 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 | 147):.Remove.any.post-processing | 
| 4f2e0 | 20 66 72 6f 6d 20 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 | .from.the.`alien`.indexing.metho | 
| 4f300 | 64 2e 0a 2a 20 53 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 | d..*.Specify.project.path.for.`p | 
| 4f320 | 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 2e 0a 2a 20 48 61 | rojectile-regenerate-tags`..*.Ha | 
| 4f340 | 6e 64 6c 65 20 66 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 | ndle.files.with.special.characte | 
| 4f360 | 72 73 20 69 6e 20 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 | rs.in.`projectile-get-other-file | 
| 4f380 | 73 60 2e 0a 2a 20 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 | s`..*.[#1260](https://github.com | 
| 4f3a0 | 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 36 30 29 3a 20 | /bbatsov/projectile/pull/1260):. | 
| 4f3c0 | 69 67 6e 6f 72 65 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 | ignored-*-p:.Now.they.match.agai | 
| 4f3e0 | 6e 73 74 20 72 65 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 | nst.regular.expressions..*.**(Br | 
| 4f400 | 65 61 6b 69 6e 67 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 | eaking)**.Remove.the.default.pre | 
| 4f420 | 66 69 78 20 6b 65 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 | fix.key.(`C-c.p`).for.Projectile | 
| 4f440 | 2e 20 55 73 65 72 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 | ..Users.now.have.to.pick.one.the | 
| 4f460 | 6d 73 65 6c 76 65 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 | mselves..*.Deprecate.`projectile | 
| 4f480 | 2d 6b 65 79 6d 61 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 | -keymap-prefix`..*.Avoid."No.pro | 
| 4f4a0 | 6a 65 63 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 20 6d 65 73 | jects.needed.to.be.removed.".mes | 
| 4f4c0 | 73 61 67 65 73 20 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 | sages.in.global.mode..*.[#1278]( | 
| 4f4e0 | 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 | 
| 4f500 | 63 74 69 6c 65 2f 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 | ctile/issues/1278):.Add.default. | 
| 4f520 | 60 74 65 73 74 2d 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 | `test-suffix`.to.`npm`.project.. | 
| 4f540 | 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 2f 62 62 61 | *.[#1285](https://github.com/bba | 
| 4f560 | 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 41 64 64 20 | tsov/projectile/pull/1285):.Add. | 
| 4f580 | 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 50 79 74 68 6f 6e 20 | default.`test-suffix`.to.Python. | 
| 4f5a0 | 70 72 6f 6a 65 63 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 | projects..*.[#1285](https://gith | 
| 4f5c0 | 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 | 
| 4f5e0 | 32 38 35 29 3a 20 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 | 285):.Add.support.for.Pipenv-man | 
| 4f600 | 61 67 65 64 20 50 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 | aged.Python.projects..*.[#1232]( | 
| 4f620 | 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 | 
| 4f640 | 63 74 69 6c 65 2f 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 | ctile/issues/1232):.Stop.evaluat | 
| 4f660 | 69 6e 67 20 63 6f 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 | ing.code.dynamically.in.the.mode | 
| 4f680 | 2d 6c 69 6e 65 20 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 | -line.and.switch.to.a.simpler.sc | 
| 4f6a0 | 68 65 6d 65 20 77 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 | heme.where.the.mode-line.is.upda | 
| 4f6c0 | 74 65 64 20 6a 75 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 | ted.just.once.using.`find-file-h | 
| 4f6e0 | 6f 6f 6b 60 2e 0a 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 | ook`..*.Make.the.mode.line.confi | 
| 4f700 | 67 75 72 61 62 6c 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 | gurable.via.`projectile-dynamic- | 
| 4f720 | 6d 6f 64 65 2d 6c 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 | mode-line`.and.`projectile-mode- | 
| 4f740 | 6c 69 6e 65 2d 66 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 | line-function`..*.[#1205](https: | 
| 4f760 | 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/ | 
| 4f780 | 69 73 73 75 65 73 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 | issues/1205):.Check.that.project | 
| 4f7a0 | 20 64 69 72 65 63 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 | .directory.exists.when.switching | 
| 4f7c0 | 20 70 72 6f 6a 65 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 | .projects..*.Move.Projectile's.m | 
| 4f7e0 | 65 6e 75 20 6f 75 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 | enu.out.of.the."Tools".menu..*.[ | 
| 4f800 | 41 50 49 5d 20 2a 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 | API].**(Breaking)**.Stop.raising | 
| 4f820 | 20 65 72 72 6f 72 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 | .errors.from.`projectile-project | 
| 4f840 | 2d 72 6f 6f 74 60 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 | -root`.if.not.invoked.within.a.p | 
| 4f860 | 72 6f 6a 65 63 74 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 | roject..Now.it.will.simply.retur | 
| 4f880 | 6e 20 6e 69 6c 2e 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 | n.nil..Use.it.together.with.`pro | 
| 4f8a0 | 6a 65 63 74 69 6c 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 | jectile-ensure-project`.to.emula | 
| 4f8c0 | 74 65 20 74 68 65 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 | te.the.old.behavior...###.Bugs.f | 
| 4f8e0 | 69 78 65 64 0a 0a 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 | ixed..*.[#1315](https://github.c | 
| 4f900 | 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 33 31 | om/bbatsov/projectile/issues/131 | 
| 4f920 | 35 29 3a 20 47 69 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 | 5):.Give.preference.to.the.proje | 
| 4f940 | 63 74 20 74 79 70 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 | ct.types.that.were.registered.la | 
| 4f960 | 73 74 2e 0a 2a 20 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 | st..*.[#1367](https://github.com | 
| 4f980 | 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 33 36 37 29 | /bbatsov/projectile/issues/1367) | 
| 4f9a0 | 3a 20 46 69 78 20 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 | :.Fix.the.Makefile.so.that.we.ca | 
| 4f9c0 | 6e 20 63 6f 6d 70 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 | n.compile.projectile.-.use.`make | 
| 4f9e0 | 60 2e 0a 0a 23 23 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 | `...##.1.0.0.(2018-07-21)..###.N | 
| 4fa00 | 65 77 20 46 65 61 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 | ew.Features..*.[#1255](https://g | 
| 4fa20 | 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 | 
| 4fa40 | 6c 2f 31 32 35 35 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 | l/1255):.Add.support.for.functio | 
| 4fa60 | 6e 20 73 79 6d 62 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 | n.symbols.as.project.default.com | 
| 4fa80 | 6d 61 6e 64 73 0a 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 | mands.*.[#1243](https://github.c | 
| 4faa0 | 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 34 33 29 | om/bbatsov/projectile/pull/1243) | 
| 4fac0 | 3a 20 41 64 64 20 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 | :.Add.[angular](https://angular. | 
| 4fae0 | 69 6f 29 20 70 72 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 | io).project.support..*.[#1228](h | 
| 4fb00 | 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 | 
| 4fb20 | 74 69 6c 65 2f 70 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 | tile/pull/1228):.Add.support.for | 
| 4fb40 | 20 61 20 70 72 65 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 | .a.prefix.argument.to.`projectil | 
| 4fb60 | 65 2d 76 63 60 2e 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 | e-vc`..*.[#1221](https://github. | 
| 4fb80 | 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 32 31 | com/bbatsov/projectile/pull/1221 | 
| 4fba0 | 29 3a 20 4d 6f 64 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 | ):.Modify.Ruby.and.Elixir.projec | 
| 4fbc0 | 74 20 73 65 74 74 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 | t.settings..*.[#1175](https://gi | 
| 4fbe0 | 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 | 
| 4fc00 | 2f 31 31 37 35 29 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 | /1175):.Add.a.command.`projectil | 
| 4fc20 | 65 2d 63 6f 6e 66 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 | e-configure-command`.for.running | 
| 4fc40 | 20 61 20 63 6f 6e 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 | .a.configuration.for.build.syste | 
| 4fc60 | 6d 73 20 74 68 61 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 | ms.that.need.that..*.[#1168](htt | 
| 4fc80 | 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 | 
| 4fca0 | 6c 65 2f 70 75 6c 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 | le/pull/1168):.Add.CMake.and.Mes | 
| 4fcc0 | 6f 6e 20 70 72 6f 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 | on.project.support..*.[#1159](ht | 
| 4fce0 | 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 | 
| 4fd00 | 69 6c 65 2f 70 75 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 | ile/pull/1159).Add.[nix](http:// | 
| 4fd20 | 6e 69 78 6f 73 2e 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 | nixos.org).project.support..*.[# | 
| 4fd40 | 31 31 36 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 | 1166](https://github.com/bbatsov | 
| 4fd60 | 2f 70 72 6f 6a 65 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 | /projectile/pull/1166):.Add.`-ot | 
| 4fd80 | 68 65 72 2d 66 72 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 | her-frame`.versions.of.commands. | 
| 4fda0 | 74 68 61 74 20 68 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 | that.had.`-other-window`.version | 
| 4fdc0 | 73 2e 0a 2a 20 43 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 | s..*.Consider.Ensime.configurati | 
| 4fde0 | 6f 6e 20 66 69 6c 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 | on.file.as.root.marker,.`.ensime | 
| 4fe00 | 60 2e 0a 2a 20 5b 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 | `..*.[#1057](https://github.com/ | 
| 4fe20 | 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 30 35 37 29 3a | bbatsov/projectile/issues/1057): | 
| 4fe40 | 20 4d 61 6b 65 20 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 | .Make.it.possible.to.disable.aut | 
| 4fe60 | 6f 6d 61 74 69 63 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 | omatic.project.tracking.via.`pro | 
| 4fe80 | 6a 65 63 74 69 6c 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 | jectile-track-known-projects-aut | 
| 4fea0 | 6f 6d 61 74 69 63 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 | omatically`..*.Added.ability.to. | 
| 4fec0 | 73 70 65 63 69 66 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 | specify.test.files.suffix.and.pr | 
| 4fee0 | 65 66 69 78 20 61 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 | efix.at.the.project.registration | 
| 4ff00 | 2e 0a 2a 20 5b 23 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 | ..*.[#1154](https://github.com/b | 
| 4ff20 | 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 35 34 29 20 55 73 65 | batsov/projectile/pull/1154).Use | 
| 4ff40 | 20 6e 70 6d 20 69 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 | .npm.install.instead.of.build..* | 
| 4ff60 | 20 41 64 64 65 64 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 | .Added.the.ability.to.expire.old | 
| 4ff80 | 20 66 69 6c 65 73 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 | .files.list.caches.via.`projecti | 
| 4ffa0 | 6c 65 2d 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 70 69 72 65 | le-projectile-files-cache-expire | 
| 4ffc0 | 60 2e 0a 2a 20 5b 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 | `..*.[#1204](https://github.com/ | 
| 4ffe0 | 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 30 34 29 3a 20 60 | bbatsov/projectile/pull/1204):.` | 
| 50000 | 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 | 
| 50020 | 60 20 63 61 6e 20 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 | `.can.now.be.use.to.customize.th | 
| 50040 | 65 20 73 6f 75 72 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 | e.source.and.test.directory.via. | 
| 50060 | 60 3a 73 72 63 2d 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 | `:src-dir`.and.`:test-dir`.for.p | 
| 50080 | 72 6f 6a 65 63 74 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 | rojects.with.custom.needs.(eg..m | 
| 500a0 | 61 76 65 6e 29 2e 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 | aven)..*.[#1240](https://github. | 
| 500c0 | 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 34 30 | com/bbatsov/projectile/pull/1240 | 
| 500e0 | 29 3a 20 41 64 64 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 | ):.Add.some.integration.with.rig | 
| 50100 | 67 72 65 70 2e 0a 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 | grep..*.Add.`projectile-project- | 
| 50120 | 73 65 61 72 63 68 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 | search-path`,.which.is.auto-sear | 
| 50140 | 63 68 65 64 20 66 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 | ched.for.projects.when.`projecti | 
| 50160 | 6c 65 2d 6d 6f 64 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 | le-mode`.starts..*.Add.`projecti | 
| 50180 | 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 70 | le-discover-projects-in-search-p | 
| 501a0 | 61 74 68 60 20 63 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 | ath`.command.which.searches.for. | 
| 501c0 | 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 63 74 2d | projects.in.`projectile-project- | 
| 501e0 | 73 65 61 72 63 68 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 | search-path`..*.Auto-cleanup.mis | 
| 50200 | 73 69 6e 67 20 6b 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 | sing.known-projects.on.`projecti | 
| 50220 | 6c 65 2d 6d 6f 64 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 | le-mode`.start...###.Changes..*. | 
| 50240 | 5b 23 31 32 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 | [#1213](https://github.com/bbats | 
| 50260 | 6f 76 2f 70 72 6f 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 | ov/projectile/pull/1213):.Cache. | 
| 50280 | 70 72 6f 6a 65 63 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 | project.root.in.non-filed-backed | 
| 502a0 | 20 62 75 66 66 65 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 | .buffers..*.[#1175](https://gith | 
| 502c0 | 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 | 
| 502e0 | 31 37 35 29 3a 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 | 175):.`projectile-register-proje | 
| 50300 | 63 74 2d 74 79 70 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 | ct-type`.can.now.set.a.default.c | 
| 50320 | 6f 6d 70 69 6c 61 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 | ompilation.directory.for.build.s | 
| 50340 | 79 73 74 65 6d 73 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 | ystems.that.needs.to.build.out-o | 
| 50360 | 66 2d 74 72 65 65 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 | f-tree.(eg..meson)..*.[#1175](ht | 
| 50380 | 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 | 
| 503a0 | 69 6c 65 2f 70 75 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 | ile/pull/1175):.`projectile-{tes | 
| 503c0 | 74 2c 72 75 6e 7d 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 | t,run}-project`.now.run.inside.` | 
| 503e0 | 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 69 72 29 60 2c 20 6a | (projectile-compilation-dir)`,.j | 
| 50400 | 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 70 72 6f | ust.like.`projectile-compile-pro | 
| 50420 | 6a 65 63 74 60 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 | ject`..*.[#1175](https://github. | 
| 50440 | 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 37 35 | com/bbatsov/projectile/pull/1175 | 
| 50460 | 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 2d 70 72 6f 6a 65 63 | ):.`projectile-{test,run}-projec | 
| 50480 | 74 60 20 6e 6f 77 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 | t`.now.stores.the.default.comman | 
| 504a0 | 64 20 70 65 72 20 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 | d.per.directory.instead.of.per.p | 
| 504c0 | 72 6f 6a 65 63 74 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 | roject,.just.like.`projectile-co | 
| 504e0 | 6d 70 69 6c 65 2d 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 | mpile-project`..*.Cache.the.root | 
| 50500 | 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 6f 20 69 6e 63 72 65 | .of.the.current.project.to.incre | 
| 50520 | 61 73 65 20 70 65 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 | ase.performance.*.[#1129](https: | 
| 50540 | 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/ | 
| 50560 | 70 75 6c 6c 2f 31 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 | pull/1129):.Fix.TRAMP.issues..*. | 
| 50580 | 41 64 64 20 52 20 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 | Add.R.DESCRIPTION.file.to.`proje | 
| 505a0 | 63 74 69 6c 65 2d 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 | ctile-project-root-files`..*.Ign | 
| 505c0 | 6f 72 65 20 62 61 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 | ore.backup.files.in.`projectile- | 
| 505e0 | 67 65 74 2d 6f 74 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 | get-other-files`..*.Ignore.Ensim | 
| 50600 | 65 20 63 61 63 68 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 | e.cache.directory,.`.ensime_cach | 
| 50620 | 65 60 2e 0a 2a 20 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 | e`..*.[#364](https://github.com/ | 
| 50640 | 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 33 36 34 29 3a 20 | bbatsov/projectile/issues/364):. | 
| 50660 | 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 63 74 60 20 63 | `projectile-add-known-project`.c | 
| 50680 | 61 6e 20 6e 6f 77 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 | an.now.be.used.interactively..*. | 
| 506a0 | 60 70 72 6f 6a 65 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 | `projectile-mode`.is.now.a.globa | 
| 506c0 | 6c 20 6d 6f 64 65 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 | l.mode..*.`projectile-find-tag`. | 
| 506e0 | 6e 6f 77 20 64 65 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 | now.defaults.to.xref.on.Emacs.25 | 
| 50700 | 2e 31 2b 2e 0a 2a 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 | .1+..*.Add.relation.between.`.h` | 
| 50720 | 20 61 6e 64 20 60 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 | .and.`.cc`.files.in.`projectile- | 
| 50740 | 6f 74 68 65 72 2d 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 | other-file-alist`..*.Cache.the.n | 
| 50760 | 61 6d 65 20 6f 66 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 | ame.of.the.current.project.for.m | 
| 50780 | 6f 64 65 2d 6c 69 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 | ode-line.display.of.the.project. | 
| 507a0 | 6e 61 6d 65 2e 0a 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 | name..*.[#1078](https://github.c | 
| 507c0 | 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 30 37 | om/bbatsov/projectile/issues/107 | 
| 507e0 | 38 29 3a 20 46 6f 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 | 8):.For.projectile-grep/ag.use.d | 
| 50800 | 65 66 61 75 6c 74 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 | efault.value.like.grep/rgrep/ag. | 
| 50820 | 0a 2a 20 44 6f 6e 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 | .*.Don't.treat.`package.json`.as | 
| 50840 | 20 61 20 70 72 6f 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 | .a.project.marker..*.[#987](http | 
| 50860 | 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 | 
| 50880 | 65 2f 69 73 73 75 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 | e/issues/987):.projectile-ag.ign | 
| 508a0 | 6f 72 65 73 20 61 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 | ores.ag-ignore-list.when.project | 
| 508c0 | 69 6c 65 2d 70 72 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 | ile-project-vcs.is.git.*.[#1119] | 
| 508e0 | 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 | 
| 50900 | 65 63 74 69 6c 65 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 | ectile/issues/1119):.File.search | 
| 50920 | 20 69 67 6e 6f 72 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 | .ignores.non-root.dirs.if.prefix | 
| 50940 | 65 64 20 77 69 74 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 | ed.with."*".*.Treat.members.of.` | 
| 50960 | 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 65 64 2d 66 69 6c 65 | projectile-globally-ignored-file | 
| 50980 | 2d 73 75 66 66 69 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 | -suffixes`.as.file.name.suffixes | 
| 509a0 | 20 28 70 72 65 76 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 | .(previous.treat.as.file.extensi | 
| 509c0 | 6f 6e 73 29 2e 0a 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 | ons)..*.Ensure.project.roots.are | 
| 509e0 | 20 61 64 64 65 64 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 | .added.as.directory.names.to.avo | 
| 50a00 | 69 64 20 6e 65 61 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 | id.near-duplicate.projects,.e.g. | 
| 50a20 | 20 22 7e 2f 70 72 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 | ."~/project/".and."~/project"..* | 
| 50a40 | 20 44 6f 6e 27 74 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 | .Don't.autoload.defcustoms..*.** | 
| 50a60 | 28 42 72 65 61 6b 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 | (Breaking)**.Require.Emacs.25.1. | 
| 50a80 | 0a 2a 20 52 65 6d 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 | .*.Remove.the.support.for.grizzl | 
| 50aa0 | 2e 0a 0a 23 23 23 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 | ...###.Bugs.fixed..*.[#1222](htt | 
| 50ac0 | 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 | 
| 50ae0 | 6c 65 2f 69 73 73 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 | le/issues/1222):.`projectile-con | 
| 50b00 | 66 69 67 75 72 65 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 | figure-project`.fails.for.generi | 
| 50b20 | 63 20 70 72 6f 6a 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 | c.project.type.*.[#1162](https:/ | 
| 50b40 | 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 | 
| 50b60 | 73 73 75 65 73 2f 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 | ssues/1162):.`projectile-ag`.cau | 
| 50b80 | 73 65 73 20 22 41 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 | ses."Attempt.to.modify.read-only | 
| 50ba0 | 20 6f 62 6a 65 63 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 | .object".error..*.[#1169](https: | 
| 50bc0 | 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/ | 
| 50be0 | 69 73 73 75 65 73 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 | issues/1169):.`projectile-compil | 
| 50c00 | 65 2d 70 72 6f 6a 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 | e-project`.does.not.prompt.for.c | 
| 50c20 | 6f 6d 70 69 6c 61 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 | ompilation.command..*.[#1072](ht | 
| 50c40 | 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 | 
| 50c60 | 69 6c 65 2f 69 73 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 | ile/issues/1072):.Create.test.fi | 
| 50c80 | 6c 65 73 20 6f 6e 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 | les.only.within.the.project..*.[ | 
| 50ca0 | 23 31 30 36 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 | #1063](https://github.com/bbatso | 
| 50cc0 | 76 2f 70 72 6f 6a 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 | v/projectile/issues/1063):.Suppo | 
| 50ce0 | 72 74 20 46 6f 73 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 | rt.Fossil.checkouts.on.Windows.. | 
| 50d00 | 2a 20 5b 23 31 30 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 | *.[#1024](https://github.com/bba | 
| 50d20 | 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 32 34 29 3a 20 44 6f | tsov/projectile/issues/1024):.Do | 
| 50d40 | 20 6e 6f 74 20 63 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 | .not.cache.ignored.project.files | 
| 50d60 | 2e 0a 2a 20 5b 23 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 | ..*.[#1022](https://github.com/b | 
| 50d80 | 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 30 32 32 29 3a 20 | batsov/projectile/issues/1022):. | 
| 50da0 | 53 63 61 6e 20 66 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 | Scan.for.Fossil's.checkout.DB,.n | 
| 50dc0 | 6f 74 20 69 74 73 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 | ot.its.config.DB..*.[#1007](http | 
| 50de0 | 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 | 
| 50e00 | 65 2f 69 73 73 75 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 | e/issues/1007):.Make.use.of.`pro | 
| 50e20 | 6a 65 63 74 69 6c 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 | jectile-go-function`..*.[#1011]( | 
| 50e40 | 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 | 
| 50e60 | 63 74 69 6c 65 2f 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 | ctile/issues/1011):.Save.project | 
| 50e80 | 20 66 69 6c 65 73 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 | .files.before.running.project.te | 
| 50ea0 | 73 74 73 2e 0a 2a 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 | sts..*.[#1099](https://github.co | 
| 50ec0 | 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 30 39 39 | m/bbatsov/projectile/issues/1099 | 
| 50ee0 | 29 3a 20 46 69 78 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 | ):.Fix.the.behaviour.of.`project | 
| 50f00 | 69 6c 65 2d 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 5b 23 31 | ile-purge-dir-from-cache`..*.[#1 | 
| 50f20 | 30 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 6f 76 2f | 067](https://github.com/bbatsov/ | 
| 50f40 | 70 72 6f 6a 65 63 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 | projectile/issues/1067):.Don't.m | 
| 50f60 | 65 73 73 20 75 70 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 | ess.up.`default-directory`.after | 
| 50f80 | 20 73 77 69 74 63 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 | .switching.projects..*.[#1246](h | 
| 50fa0 | 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 | 
| 50fc0 | 74 69 6c 65 2f 69 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 | tile/issues/1246):.Don't.blow.aw | 
| 50fe0 | 61 79 20 72 65 61 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 | ay.real.project.file.during.test | 
| 51000 | 73 2e 0a 0a 23 23 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 | s...##.0.14.0.(2016-07-08)..###. | 
| 51020 | 4e 65 77 20 66 65 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 | New.features..*.Add.[elixir](htt | 
| 51040 | 70 3a 2f 2f 65 6c 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 | p://elixir-lang.org).project.typ | 
| 51060 | 65 2e 0a 2a 20 41 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 | e..*.Add.[emacs-cask](https://gi | 
| 51080 | 74 68 75 62 2e 63 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 | thub.com/cask/cask).project.type | 
| 510a0 | 2e 0a 2a 20 41 64 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 | ..*.Add.[boot-clj](https://githu | 
| 510c0 | 62 2e 63 6f 6d 2f 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 | b.com/boot-clj/boot).project.typ | 
| 510e0 | 65 2e 0a 2a 20 41 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 | e..*.Add.[racket](http://racket- | 
| 51100 | 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 64 64 20 73 75 | lang.org).project.type..*.Add.su | 
| 51120 | 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 67 72 61 64 6c 65 77 | pport.for.projects.using.gradlew | 
| 51140 | 20 73 63 72 69 70 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 | .script..*.Prefer.Haskell.stack. | 
| 51160 | 70 72 6f 6a 65 63 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 | projects.over.cabal.projects..*. | 
| 51180 | 41 64 64 20 61 62 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 | Add.ability.to.use.elisp.functio | 
| 511a0 | 6e 73 20 66 6f 72 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 | ns.for.test,.compile.and.run.com | 
| 511c0 | 6d 61 6e 64 73 2e 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 | mands..*.Consider.`TAGS`.and.`GT | 
| 511e0 | 41 47 53 60 20 72 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 | AGS`.root.markers..*.Add.relatio | 
| 51200 | 6e 20 62 65 74 77 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 | n.between.the.`.h`,.`.cxx`,.`.ix | 
| 51220 | 78 60 20 61 6e 64 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 | x`.and.`.hxx`.files.in.`projecti | 
| 51240 | 6c 65 2d 6f 74 68 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 | le-other-file-alist`..*.Add.rela | 
| 51260 | 74 69 6f 6e 20 62 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 | tion.between.the.`.hpp`.and.`.cc | 
| 51280 | 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 66 69 6c | `.files.in.`projectile-other-fil | 
| 512a0 | 65 2d 61 6c 69 73 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 | e-alist`..*.Add.support.to.speci | 
| 512c0 | 66 79 20 70 72 6f 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 | fy.project.name.either.via.`.dir | 
| 512e0 | 2d 6c 6f 63 61 6c 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 | -locals.el`.or.by.providing.a.cu | 
| 51300 | 73 74 6f 6d 69 7a 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 | stomized.`projectile-project-nam | 
| 51320 | 65 2d 66 75 6e 63 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 | e-function`..*.Add.a.command.to. | 
| 51340 | 73 77 69 74 63 68 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 | switch.between.open.projects.(`p | 
| 51360 | 72 6f 6a 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 60 29 2e | rojectile-switch-open-project`). | 
| 51380 | 0a 2a 20 41 64 64 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 | .*.Add.a.command.to.edit.the..di | 
| 513a0 | 72 2d 6c 6f 63 61 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 | r-locals.el.file.of.the.project. | 
| 513c0 | 28 60 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 60 29 2e 0a | (`projectile-edit-dir-locals`).. | 
| 513e0 | 2a 20 41 64 64 20 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 | *.Add.file.local.variable.`proje | 
| 51400 | 63 74 69 6c 65 2d 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 | ctile-project-root`,.which.allow | 
| 51420 | 73 20 6f 76 65 72 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 | s.overriding.the.project.root.on | 
| 51440 | 20 61 20 70 65 72 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 | .a.per-file.basis..This.allows.n | 
| 51460 | 61 76 69 67 61 74 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 | avigating.a.different.project.fr | 
| 51480 | 6f 6d 2c 20 73 61 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 | om,.say,.an.org.file.in.a.anothe | 
| 514a0 | 72 20 67 69 74 20 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 | r.git.repository..*.Add.`project | 
| 514c0 | 69 6c 65 2d 67 72 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 | ile-grep-finished-hook`..*.Ignor | 
| 514e0 | 65 20 66 69 6c 65 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 | e.file.suffixes.listed.in.`proje | 
| 51500 | 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 73 75 66 66 | ctile-globally-ignored-file-suff | 
| 51520 | 69 78 65 73 60 20 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 | ixes`.when.using.`projectile-gre | 
| 51540 | 70 60 20 61 6e 64 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 | p`.and.`projectile-ag`..*.Add.`p | 
| 51560 | 72 6f 6a 65 63 74 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 | rojectile-replace-regexp`,.which | 
| 51580 | 20 73 75 70 70 6f 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 | .supports.replacement.by.regexp. | 
| 515a0 | 77 69 74 68 69 6e 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 | within.a.project..`projectile-re | 
| 515c0 | 70 6c 61 63 65 60 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 | place`.is.now.used.solely.for.li | 
| 515e0 | 74 65 72 61 6c 20 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 | teral.replacements..*.New.comman | 
| 51600 | 64 20 60 70 72 6f 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 | d.`projectile-run-shell`.(<kbd>C | 
| 51620 | 2d 63 20 70 20 78 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 | -c.p.x.s</kbd>)..*.New.command.` | 
| 51640 | 70 72 6f 6a 65 63 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 | projectile-run-eshell`.(<kbd>C-c | 
| 51660 | 20 70 20 78 20 65 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 | .p.x.e</kbd>)..*.New.command.`pr | 
| 51680 | 6f 6a 65 63 74 69 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 | ojectile-run-term`.(<kbd>C-c.p.x | 
| 516a0 | 20 74 3c 2f 6b 62 64 3e 29 2e 0a 2a 20 5b 23 39    37 31 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | .t</kbd>)..*.[#971](https://gith | 
| 516c0 | 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 | 
| 516e0 | 37 31 29 3a 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 6e 20 | 71):.Let.user.unignore.files.in. | 
| 51700 | 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 78 2e | `.projectile`.with.the.!.prefix. | 
| 51720 | 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 6f 6a | .*.Add.a.command.to.add.all.proj | 
| 51740 | 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 68 65 | ects.in.a.directory.to.the.cache | 
| 51760 | 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 73 2d | .(`projectile-discover-projects- | 
| 51780 | 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 64 20 | in-directory`)..*.Add.a.command. | 
| 517a0 | 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 65 64 | to.list.dirty.version.controlled | 
| 517c0 | 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 64 69 | .projects.(`projectile-browse-di | 
| 517e0 | 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 2a 20 | rty-projects`)...###.Changes..*. | 
| 51800 | 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 65 20 | Prefer.ag's.internal..gitignore. | 
| 51820 | 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 6f 6e | parsing..*.Added.variable.to.con | 
| 51840 | 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 69 6d | trol.use.of.external.find-tag.im | 
| 51860 | 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 74 68 | plementations..*.Specify.`--with | 
| 51880 | 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 73 74 | -keep.source`.argument.when.inst | 
| 518a0 | 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 78 65 | alling.R.projects..###.Bugs.fixe | 
| 518c0 | 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 2f 62 | d..*.[#871](https://github.com/b | 
| 518e0 | 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 20 53 | batsov/projectile/issues/871):.S | 
| 51900 | 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 6e 64 | top.advice.for.`compilation-find | 
| 51920 | 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 65 73 | -file`.to.override.other.advices | 
| 51940 | 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 62 62 | ..*.[#557](https://github.com/bb | 
| 51960 | 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 73 74 | atsov/projectile/issues/557):.st | 
| 51980 | 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 6e 64 | ack.overflow.in.`projectile-find | 
| 519a0 | 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 2e 63 | -tag`..*.[#955](https://github.c | 
| 519c0 | 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 35 35 | om/bbatsov/projectile/issues/955 | 
| 519e0 | 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 6e 20 | ):.Error.while.toggling.between. | 
| 51a00 | 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 28 68 | test.and.source.file..*.[#952](h | 
| 51a20 | 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 | 
| 51a40 | 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 65 73 | tile/issues/952):.VCS.submodules | 
| 51a60 | 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 65 73 | .brought.in.even.thought.not.des | 
| 51a80 | 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 37 36 | cendent.of.project.root..*.[#576 | 
| 51aa0 | 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 | 
| 51ac0 | 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 6c 65 | jectile/issues/576):.`projectile | 
| 51ae0 | 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 73 73 | -replace`.stomps.regular.express | 
| 51b00 | 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 63 6f | ions..*.[#957](https://github.co | 
| 51b20 | 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 3a 20 | m/bbatsov/projectile/pull/957):. | 
| 51b40 | 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 66 72 | When.opening.a.specified.file.fr | 
| 51b60 | 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 69 6e | om.the.terminal,.do.not.error.in | 
| 51b80 | 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 65 6e | side.of.`projectile-cache-curren | 
| 51ba0 | 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 75 62 | t-file`..*.[#984](https://github | 
| 51bc0 | 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 38 34 | .com/bbatsov/projectile/pull/984 | 
| 51be0 | 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 79 6d | ):.Error.when.a.project.is.a.sym | 
| 51c00 | 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 31 30 | link.that.changes.target..*.[#10 | 
| 51c20 | 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 2f 70 | 13](https://github.com/bbatsov/p | 
| 51c40 | 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 63 74 | rojectile/issues/1013):.`project | 
| 51c60 | 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 72 6e | ile-project-buffer-p`.may.return | 
| 51c80 | 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 0a 23 | .incorrect.result.on.Windows...# | 
| 51ca0 | 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 20 66 | #.0.13.0.(2015-10-21)..###.New.f | 
| 51cc0 | 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 6f 72 | eatures..*.Add.`projectile-befor | 
| 51ce0 | 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 74 68 | e-switch-project-hook`..*.Add.th | 
| 51d00 | 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 63 74 | e.ability.to.specify.the.project | 
| 51d20 | 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 41 64 | .type.via.`.dir-locals.el`..*.Ad | 
| 51d40 | 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 69 64 | d.support.for.projects.using.Mid | 
| 51d60 | 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 65 20 | je..*.Add.the.ability.to.create. | 
| 51d80 | 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 6f 6e | missing.tests.automatically.(con | 
| 51da0 | 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 65 61 | trolled.via.the.`projectile-crea | 
| 51dc0 | 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 6f 6d | te-missing-test-files`.defcustom | 
| 51de0 | 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 63 61 | )..*.Add.the.ability.to.dynamica | 
| 51e00 | 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 20 62 | lly.decide.if.a.project.should.b | 
| 51e20 | 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 72 6f | e.added.to.`projectile-known-pro | 
| 51e40 | 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 6e 6f | jects`.(via.new.`projectile-igno | 
| 51e60 | 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 6d 29 | red-project-function`.defcustom) | 
| 51e80 | 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 72 20 | ..*.Add.the.ability.to.register. | 
| 51ea0 | 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 77 69 | new.project.types.dynamically.wi | 
| 51ec0 | 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 74 2d | th.`projectile-register-project- | 
| 51ee0 | 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 65 63 | type`..*.Add.the.ability.to.spec | 
| 51f00 | 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 74 65 | ify.a.project.compilation.and.te | 
| 51f20 | 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 6c 60 | st.commands.via.`.dir-locals.el` | 
| 51f40 | 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 65 73 | ..This.is.done.via.the.variables | 
| 51f60 | 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 6f 6e | .`projectile-project-compilation | 
| 51f80 | 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 74 65 | -cmd`.and.`projectile-project-te | 
| 51fa0 | 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 75 62 | st-cmd`..*.[#489](https://github | 
| 51fc0 | 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 34 | .com/bbatsov/projectile/issues/4 | 
| 51fe0 | 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 70 72 | 89):.New.interactive.command.`pr | 
| 52000 | 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 6e 61 | ojectile-run-project`..*.Optiona | 
| 52020 | 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 6b 75 | lly.run.[monky](http://ananthaku | 
| 52040 | 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 70 72 | maran.in/monky/).on.Mercurial.pr | 
| 52060 | 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 70 65 | ojects..*.Add.the.ability.to.spe | 
| 52080 | 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 65 63 | cify.a.project.compilation.direc | 
| 520a0 | 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 63 74 | tory.relative.to.the.root.direct | 
| 520c0 | 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 74 68 | ory.via.`.dir-locals.el`.with.th | 
| 520e0 | 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 2d 63 | e.variable.`projectile-project-c | 
| 52100 | 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 69 73 | ompilation-dir`..*.When.there.is | 
| 52120 | 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 2d 61 | .a.selected.region,.projectile-a | 
| 52140 | 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 2d 72 | g,.projectile-grep,.projectile-r | 
| 52160 | 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 20 75 | eplace.and.projectile-find-tag.u | 
| 52180 | 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 65 72 | ses.it's.content.as.a.search.ter | 
| 521a0 | 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 0a 23 | m.instead.of.symbol.at.point...# | 
| 521c0 | 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 6c 65 | ##.Changes..*.Rename.`projectile | 
| 521e0 | 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 65 63 | -switch-project-hook`.to.`projec | 
| 52200 | 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 60 2e | tile-after-switch-project-hook`. | 
| 52220 | 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 60 20 | .*.`projectile-compile-project`. | 
| 52240 | 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 69 6f | now.offers.appropriate.completio | 
| 52260 | 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 6d 20 | n.targets.even.when.called.from. | 
| 52280 | 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 65 6e | a.subdirectory..*.Add.an.argumen | 
| 522a0 | 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 72 63 | t.specifying.the.regexp.to.searc | 
| 522c0 | 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 60 68 | h.to.`projectile-grep`..*.Use.`h | 
| 522e0 | 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 66 20 | elp-projectile-grep`.instead.of. | 
| 52300 | 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 67 20 | `helm-find-file`.when.selecting. | 
| 52320 | 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 65 72 | a.project..*.Omit.current.buffer | 
| 52340 | 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 66 66 | .from.`projectile-switch-to-buff | 
| 52360 | 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 62 75 | er`.and.`projectile-switch-to-bu | 
| 52380 | 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 23 23 | ffer-other-window`.choices...### | 
| 523a0 | 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 67 69 | .Bugs.fixed..*.[#721](https://gi | 
| 523c0 | 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 | 
| 523e0 | 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 3a 20 | es/721#issuecomment-100830507):. | 
| 52400 | 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 6c 6d | Remove.current.buffer.from.`helm | 
| 52420 | 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 20 5b | -projectile-switch-project`..*.[ | 
| 52440 | 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 6f 76 | #667](https://github.com/bbatsov | 
| 52460 | 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 69 6c | /projectile/issues/667).Use.`fil | 
| 52480 | 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 61 6d | e-truename`.when.caching.filenam | 
| 524a0 | 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 6b 65 | es.to.prevent.duplicate/symlinke | 
| 524c0 | 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 6e 20 | d.filepaths.from.appearing.when. | 
| 524e0 | 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 35 5d | opening.a.project.file..*.[#625] | 
| 52500 | 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 | 
| 52520 | 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 20 64 | ectile/issues/625):.Ensure.the.d | 
| 52540 | 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 77 68 | irectory.has.a.trailing.slash.wh | 
| 52560 | 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 28 68 | ile.searching.for.it..*.[#763](h | 
| 52580 | 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 | 
| 525a0 | 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 72 6f | tile/issues/763):.Check.for.`pro | 
| 525c0 | 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 2d 70 | jectile-use-git-grep`.in.`helm-p | 
| 525e0 | 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 69 6c | rojectile-grep`.*.Fix.`projectil | 
| 52600 | 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 73 65 | e-parse-dirconfig-file`.to.parse | 
| 52620 | 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 2e 0a | .non-ASCII.characters.properly.. | 
| 52640 | 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 65 77 | .##.0.12.0.(2015-03-29)..###.New | 
| 52660 | 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 76 61 | .features..*.Replace.Helm.equiva | 
| 52680 | 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 6f 6d | lent.commands.in.`projectile-com | 
| 526a0 | 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 20 72 | mander`.when.using.Helm..*.Add.r | 
| 526c0 | 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 2d 67 | eplacement.commands.projectile-g | 
| 526e0 | 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 74 69 | rep,.projectile-ack.and.projecti | 
| 52700 | 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 20 41 | le-ag.with.its.Helm.version..*.A | 
| 52720 | 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 68 61 | dd.virtual.directory.manager.tha | 
| 52740 | 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 20 6f | t.allows.to.create/update.(add.o | 
| 52760 | 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 20 62 | r.delete.files).a.Dired.buffer.b | 
| 52780 | 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 64 20 | ased.on.Projectile.files..*.Add. | 
| 527a0 | 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 65 63 | a.new.Helm.command:.`helm-projec | 
| 527c0 | 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 74 73 | tile-find-file-in-known-projects | 
| 527e0 | 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 6b 6e | `.that.opens.all.files.in.all.kn | 
| 52800 | 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 66 6f | own.projects..*.Add.an.action.fo | 
| 52820 | 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 65 63 | r.`helm-projectile-switch-projec | 
| 52840 | 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 72 6f | t`.to.delete.multiple.marked.pro | 
| 52860 | 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 74 72 | jects..*.Add.the.ability.to.retr | 
| 52880 | 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 20 75 | ieve.files.in.all.sub-projects.u | 
| 528a0 | 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 6f 6a | nder.a.project.root..*.Add.`proj | 
| 528c0 | 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 6c 6d | ectile-find-file-dwim`.and.`helm | 
| 528e0 | 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 6d 6d | -projectile-find-file-dwim`.comm | 
| 52900 | 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 6d 6d | ands..*.Provide.actual.Helm.comm | 
| 52920 | 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 6d 61 | ands.for.common.Projectile.comma | 
| 52940 | 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 6e 73 | nds..*.Use.existing.Helm.actions | 
| 52960 | 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 74 68 | .and.map.in.`helm-find-files`.th | 
| 52980 | 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 69 6c | at.allows.`helm-source-projectil | 
| 529a0 | 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 68 65 | e-files-list`.to.behave.like.`he | 
| 529c0 | 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 69 6c | lm-find-files`,.such.as.multifil | 
| 529e0 | 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 65 74 | e.selection.and.opening.or.delet | 
| 52a00 | 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 70 69 | e.on.selected.files..*.Add.compi | 
| 52a20 | 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 2e 0a | le.action.to.`helm-projectile`.. | 
| 52a40 | 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 74 20 | *.Allows.using.Eshell.and.Magit. | 
| 52a60 | 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 70 72 | outside.of.a.project.in.`helm-pr | 
| 52a80 | 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 6f 72 | ojectile`..*.Add.Helm.action.for | 
| 52aa0 | 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 74 65 | .incremental.grep.in.the.selecte | 
| 52ac0 | 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 65 63 | d.projects..*.Add.command.projec | 
| 52ae0 | 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 65 74 | tile-find-other-file..Switch.bet | 
| 52b00 | 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 20 62 | ween.files.with.the.same..name.b | 
| 52b20 | 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 20 48 | ut.different.extensions..*.Add.H | 
| 52b40 | 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 74 2e | elm.interface.to.switch.project. | 
| 52b60 | 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 20 66 | .For.more.details.checkout.the.f | 
| 52b80 | 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 20 6c | ile.README.md..*.Make.the.mode.l | 
| 52ba0 | 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 70 72 | ine.format.customizable.with.`pr | 
| 52bc0 | 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 6f 72 | ojectile-mode-line`.*.Add.suppor | 
| 52be0 | 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 54 72 | t.for.`cargo.toml`.projects.*.Tr | 
| 52c00 | 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 6c 65 | y.to.use.projectile.to.find.file | 
| 52c20 | 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 70 6f | s.in.compilation.buffers.*.Suppo | 
| 52c40 | 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 65 6d | rt.`helm`.as.a.completion.system | 
| 52c60 | 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 6a 65 | .*.New.command.`projectile-proje | 
| 52c80 | 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 62 6f | ct-info`.displays.basic.info.abo | 
| 52ca0 | 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 60 64 | ut.the.current.project..*.New.`d | 
| 52cc0 | 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 2d 69 | efcustom`.`projectile-globally-i | 
| 52ce0 | 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 69 67 | gnored-buffers`.allows.you.to.ig | 
| 52d00 | 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 66 63 | nore.buffers.by.name.*.New.`defc | 
| 52d20 | 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 6e 6f | ustom`.`projectile-globally-igno | 
| 52d40 | 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 74 6f | red-file-suffixes`.allows.you.to | 
| 52d60 | 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 72 74 | .globally.ignore.files.with.part | 
| 52d80 | 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 0a 0a | icular.extensions..###.Changes.. | 
| 52da0 | 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 20 61 | *.get-other-files.returns.more.a | 
| 52dc0 | 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 20 74 | ccurate.results.for.files.with.t | 
| 52de0 | 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 65 72 | he.same.name.placed.under.differ | 
| 52e00 | 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 63 68 | ent.directories.*.Collect.search | 
| 52e20 | 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 79 62 | .tool.(`grep`,.`ag`,.`ack`).keyb | 
| 52e40 | 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 70 72 | indings.under.a.common.keymap.pr | 
| 52e60 | 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 63 75 | efix.(`C-c.p.s`).*.Remove.`defcu | 
| 52e80 | 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 64 6f | stom`.`projectile-remember-windo | 
| 52ea0 | 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 70 72 | w-configs`.in.favor.of.`persp-pr | 
| 52ec0 | 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 74 65 | ojectile.el`..*.Progress.reporte | 
| 52ee0 | 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 6f 64 | r.for.the.native.indexing.method | 
| 52f00 | 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 65 63 | ...###.Bugs.fixed..*.Fix.`projec | 
| 52f20 | 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 69 6e | tile-regenerate-tags`.to.work.in | 
| 52f40 | 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 65 73 | .directories.that.include.spaces | 
| 52f60 | 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 75 66 | ..*.Prevent.`projectile-kill-buf | 
| 52f80 | 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 72 65 | fers`.from.trying.to.kill.indire | 
| 52fa0 | 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 69 74 | ct.buffers..*.[#412](https://git | 
| 52fc0 | 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 | 
| 52fe0 | 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 6c 65 | s/412):.Handle.multiple.possible | 
| 53000 | 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 2d 62 | .targets.in.`projectile-toggle-b | 
| 53020 | 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 2e 0a | etween-implementation-or-test`.. | 
| 53040 | 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 65 77 | .##.0.11.0.(2014-05-27)..###.New | 
| 53060 | 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 20 64 | .features..*.Added.support.for.d | 
| 53080 | 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 72 6f | efault.file.glob.pattern.to.`pro | 
| 530a0 | 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 73 74 | jectile-grep`.*.added.file.exist | 
| 530c0 | 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 6f 6a | ence.cache.with.defcustoms.`proj | 
| 530e0 | 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 65 2d | ectile-file-exists-remote-cache- | 
| 53100 | 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 78 69 | expire`.and.`projectile-file-exi | 
| 53120 | 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 65 64 | sts-local-cache-expire`..*.added | 
| 53140 | 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 6f 6a | .new.defcustoms.`projectile-proj | 
| 53160 | 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 69 6e | ect-root-files-top-down-recurrin | 
| 53180 | 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 69 6c | g`,.`projectile-project-root-fil | 
| 531a0 | 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 70 72 | es-bottom-up`.and.`projectile-pr | 
| 531c0 | 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 20 41 | oject-root-files-functions`..*.A | 
| 531e0 | 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 61 76 | dded.new.command.`projectile-sav | 
| 53200 | 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 77 20 | e-project-buffers`..*.Added.new. | 
| 53220 | 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 6f 77 | command.`projectile-cleanup-know | 
| 53240 | 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 6e 64 | n-projects`..*.Added.new.command | 
| 53260 | 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 61 6e | s.`projectile-display-buffer`.an | 
| 53280 | 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 6e 64 | d`projectile-find-dir-other-wind | 
| 532a0 | 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 75 6e | ow`..*.Added.new.interactive.fun | 
| 532c0 | 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 65 72 | ction.`projectile-project-buffer | 
| 532e0 | 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 20 60 | s-other-buffer`.which.runs.new.` | 
| 53300 | 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 2d 76 | projectile-project-buffers-non-v | 
| 53320 | 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 73 20 | isible`.function,.the.former.is. | 
| 53340 | 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 72 69 | bound.to.`C-c.p.ESC`..*.New.vari | 
| 53360 | 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 69 6d | able.`projectile-enable-idle-tim | 
| 53380 | 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 63 68 | er`.turns.on.an.idle.timer.which | 
| 533a0 | 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 65 2d | .runs.the.hook.`projectile-idle- | 
| 533c0 | 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 69 64 | timer-hook`.every.`projectile-id | 
| 533e0 | 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 20 6e | le-timer-seconds`.seconds.when.n | 
| 53400 | 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 63 74 | on-nil..*.New.defcustom.`project | 
| 53420 | 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 69 6c | ile-remember-window-configs`.wil | 
| 53440 | 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 65 63 | l.make.`projectile-switch-projec | 
| 53460 | 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 64 6f | t`.restore.the.most.recent.windo | 
| 53480 | 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 65 20 | w.configuration.(if.any).of.the. | 
| 534a0 | 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 60 70 | target.project..*.New.command.`p | 
| 534c0 | 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 2e 0a | rojectile-run-command-in-root`.. | 
| 534e0 | 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 73 68 | *.New.command.`projectile-run-sh | 
| 53500 | 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 6d 6d | ell-command-in-root`..*.New.comm | 
| 53520 | 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 6c 2d | and.`projectile-run-async-shell- | 
| 53540 | 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 74 6f | command-in-root`..*.New.defcusto | 
| 53560 | 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 6c 6c | m.`projectile-use-git-grep`.will | 
| 53580 | 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 69 74 | .make.`projectile-grep`.use.`git | 
| 535a0 | 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 65 64 | .grep`.for.git.projects..*.Added | 
| 535c0 | 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 74 68 | .new.`projectile-commander`.meth | 
| 535e0 | 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 63 74 | ods.?v.and.?R.which.run.`project | 
| 53600 | 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 72 61 | ile-vc`.and.`projectile-regenera | 
| 53620 | 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 6a 65 | te-tags`,.respectively..*.`proje | 
| 53640 | 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 75 73 | ctile-vc`.will.use.`magit-status | 
| 53660 | 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 73 20 | `.if.available..*.New.functions. | 
| 53680 | 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 6e 2d | `projectile-find-implementation- | 
| 536a0 | 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 69 6d | or-test`.and.`projectile-find-im | 
| 536c0 | 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 64 6f | plementation-or-test-other-windo | 
| 536e0 | 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 20 70 | w`,.the.later.is.bound.to.`C-c.p | 
| 53700 | 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 63 74 | .4.t`..*.New.defcustoms.`project | 
| 53720 | 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 60 70 | ile-test-prefix-function`.and.`p | 
| 53740 | 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 60 0a | rojectile-test-suffix-function`. | 
| 53760 | 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 72 6f | allow.users.to.customize.how.pro | 
| 53780 | 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 62 79 | jectile.identifies.test.files.by | 
| 537a0 | 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 72 65 | .project.type..*.`projectile-gre | 
| 537c0 | 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 20 69 | p`.will.ask.for.a.file.pattern.i | 
| 537e0 | 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 6e 74 | f.invoked.with.a.prefix.argument | 
| 53800 | 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 6f 77 | ..*.Subversion.checkouts.are.now | 
| 53820 | 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 20 63 | .automatically.detected..*.CVS.c | 
| 53840 | 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 20 64 | heckouts.are.now.automatically.d | 
| 53860 | 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 65 72 | etected..*.added.`projectile-per | 
| 53880 | 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 6d 61 | sp-switch-project`.command.to.ma | 
| 538a0 | 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 20 77 | ke.perspective.mode.work.along.w | 
| 538c0 | 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 6a 65 | ith.projectile..*.Changed.`proje | 
| 538e0 | 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 64 65 | ctile-mode-line-lighter`.to.a.de | 
| 53900 | 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 6c 69 | fcustom.variable.to.make.mode.li | 
| 53920 | 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 6c 65 | ne.indicator.prefix.customizable | 
| 53940 | 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 6e 64 | ..*.New.command.`projectile-find | 
| 53960 | 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 77 20 | -file-in-known-projects`..*.New. | 
| 53980 | 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 70 72 | defcustom.`projectile-ignored-pr | 
| 539a0 | 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 70 72 | ojects`.allows.you.to.specify.pr | 
| 539c0 | 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 20 74 | ojects.that.shouldn't.be.added.t | 
| 539e0 | 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 65 77 | o.the.known.projects.list..*.New | 
| 53a00 | 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 72 72 | .command.`projectile-remove-curr | 
| 53a20 | 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 73 60 | ent-project-from-known-projects` | 
| 53a40 | 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 62 75 | ..*.New.defcustom.`projectile-bu | 
| 53a60 | 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 64 65 | ffers-filter-function`..*.New.de | 
| 53a80 | 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 60 2e | fcustom.`projectile-sort-order`. | 
| 53aa0 | 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 6f 63 | .*.New.function.`projectile-proc | 
| 53ac0 | 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 2a 20 | ess-current-project-buffers`..*. | 
| 53ae0 | 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 73 73 | New.function.`projectile-process | 
| 53b00 | 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 43 68 | -current-project-files`...###.Ch | 
| 53b20 | 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 6b 65 | anges..*.The.presence.of.a.`Make | 
| 53b40 | 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 20 69 | file`.is.no.longer.taken.as.an.i | 
| 53b60 | 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 79 20 | ndicator.of.the.project.root.by. | 
| 53b80 | 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 69 73 | default,.since.recursive.make.is | 
| 53ba0 | 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 65 6e | .unfortunately.a.common.occurren | 
| 53bc0 | 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 74 2d | ce.(affects.`projectile-project- | 
| 53be0 | 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 6e 6f | root-files`)..*.Projectile.is.no | 
| 53c00 | 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 74 61 | w.able.to.find.the.project.perta | 
| 53c20 | 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 20 61 | ining.to.a.symlink.pointing.to.a | 
| 53c40 | 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 6f 70 | .version-controlled.file..*.Drop | 
| 53c60 | 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 63 75 | .`projectile-ack-function`.defcu | 
| 53c80 | 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 70 60 | stom..*.`projectile-command-map` | 
| 53ca0 | 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 62 79 | .is.now.the.keymap.referenced.by | 
| 53cc0 | 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 60 20 | .the.`projectile-keymap-prefix`. | 
| 53ce0 | 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 20 61 | in.`projectile-mode-map`..This.a | 
| 53d00 | 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 72 20 | llows.modification.of.the.inner. | 
| 53d20 | 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 66 69 | map,.and.allows.additional.prefi | 
| 53d40 | 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 75 67 | x.keys.to.reference.it...###.Bug | 
| 53d60 | 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 65 2d | s.fixed..*.Modified.`projectile- | 
| 53d80 | 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 61 6c | ack`.to.append.to.`ack-and-a-hal | 
| 53da0 | 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 64 69 | f-arguments`.instead.of.overridi | 
| 53dc0 | 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 69 6c | ng.them..*.[#229].Fix.`projectil | 
| 53de0 | 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 68 61 | e-find-file-in-directory`'s.beha | 
| 53e00 | 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 20 60 | vior.for.project.directories.*.` | 
| 53e20 | 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 65 6d | projectile-toggle-between-implem | 
| 53e40 | 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 74 61 | entation-or-test`.shows.understa | 
| 53e60 | 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 20 69 | ndable.error.if.current.buffer.i | 
| 53e80 | 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 5d 20 | s.not.visiting.a.file..*.[#244]. | 
| 53ea0 | 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 72 6f | Correct.folder.picked.up.by.`pro | 
| 53ec0 | 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 74 63 | jectile-ack`.after.project-switc | 
| 53ee0 | 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 20 63 | h..*.[#182].Invalidate.project.c | 
| 53f00 | 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 64 2e | ache.if..projectile.is.modified. | 
| 53f20 | 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 4e 65 | ..##.0.10.0.(2013-12-09)..###.Ne | 
| 53f40 | 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 64 20 | w.features..*.Added.new.command. | 
| 53f60 | 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 6e 64 | `projectile-find-file-other-wind | 
| 53f80 | 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 65 63 | ow`..*.Added.new.command.`projec | 
| 53fa0 | 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 6e 64 | tile-switch-to-buffer-other-wind | 
| 53fc0 | 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 65 63 | ow`..*.Added.new.command.`projec | 
| 53fe0 | 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 68 61 | tile-find-file-in-directory`.tha | 
| 54000 | 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 69 6e | t.allows.you.to.jump.to.files.in | 
| 54020 | 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 60 20 | .any.directory..*.`.projectile`. | 
| 54040 | 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 6e 74 | is.now.always.taken.into.account | 
| 54060 | 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 27 | ..*.`projectile-switch-project`' | 
| 54080 | 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 20 76 | s.behavior.is.now.customizable.v | 
| 540a0 | 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 61 63 | ia.`projectile-switch-project-ac | 
| 540c0 | 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 64 6c | tion`..*.Added.support.for.Gradl | 
| 540e0 | 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 72 20 | e.projects..*.Added.support.for. | 
| 54100 | 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 6a 65 | `Ag`..*.Added.new.command.`proje | 
| 54120 | 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 2a 20 | ctile-purge-file-from-cache`..*. | 
| 54140 | 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 70 75 | Added.new.command.`projectile-pu | 
| 54160 | 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 65 77 | rge-dir-from-cache`..*.Added.new | 
| 54180 | 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 2e 0a | .command.`projectile-find-tag`.. | 
| 541a0 | 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- | 
| 541c0 | 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 75 69 | commander`..It.allows.you.to.qui | 
| 541e0 | 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 6e 64 | ckly.run.many.Projectile.command | 
| 54200 | 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 75 6c | s.with.a.single.key..Very.useful | 
| 54220 | 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 2e 0a | .as.a.project-switching.action.. | 
| 54240 | 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 6e 6f | *.`projectile-switch-project`.no | 
| 54260 | 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 57 68 | w.supports.a.prefix.argument..Wh | 
| 54280 | 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 69 6f | en.it's.present.the.switch.actio | 
| 542a0 | 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 23 23 | n.is.`projectile-commander`...## | 
| 542c0 | 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 20 60 | #.Changes..*.Replaced.variable.` | 
| 542e0 | 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 60 20 | projectile-use-native-indexing`. | 
| 54300 | 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 6f 64 | with.`projectile-indexing-method | 
| 54320 | 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 72 20 | `..*.Corrected.grammar.on.error. | 
| 54340 | 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 6a 65 | message.for.not.being.in.a.proje | 
| 54360 | 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 69 6c | ct...###.Bug.fixes..*.`projectil | 
| 54380 | 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 20 64 | e-find-test-file`.now.properly.d | 
| 543a0 | 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 2e 0a | isplays.only.test.files.(#145).. | 
| 543c0 | 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 77 20 | .##.0.9.2.(2013-07-16)..###.New. | 
| 543e0 | 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 64 61 | features..*.`projectile-invalida | 
| 54400 | 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 20 61 | te-cache`.now.accepts.a.prefix.a | 
| 54420 | 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 65 20 | rgument..When.present.you'll.be. | 
| 54440 | 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 20 63 | prompted.for.the.project.whose.c | 
| 54460 | 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 61 6e | ache.to.invalidate..*.New.comman | 
| 54480 | 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 73 69 | d.`projectile-find-dir`.works.si | 
| 544a0 | 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 60 20 | milar.to.`projectile-find-file`. | 
| 544c0 | 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 61 6e | -.displays.the.project's.dirs.an | 
| 544e0 | 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 73 20 | d.opens.them.with.`dired`..It's. | 
| 54500 | 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 70 70 | bound.to.`C-c.p.d`..*.Added.supp | 
| 54520 | 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 6f 6e | ort.for.`grizzl`.as.a.completion | 
| 54540 | 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 66 6f | .system..*.Added.support.for.`fo | 
| 54560 | 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 74 20 | ssil`.projects..*.Added.support. | 
| 54580 | 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 20 63 | for.`Symfony.2`.project..*.New.c | 
| 545a0 | 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 2d 70 | ommand.`projectile-clear-known-p | 
| 545c0 | 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 6a 65 | rojects`.removes.all.known.proje | 
| 545e0 | 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 2d 72 | cts..*.New.command.`projectile-r | 
| 54600 | 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 6f 75 | emove-known-project`.prompts.you | 
| 54620 | 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 2e 0a | .for.a.known.project.to.remove.. | 
| 54640 | 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 65 63 | .###.Bugs.fixed..*.Fixed.`projec | 
| 54660 | 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 6e 20 | tile-replace`,.which.was.broken. | 
| 54680 | 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 0a 2a | from.the.use.of.relative.paths.* | 
| 546a0 | 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 6a 65 | .#103.-.`projectile-switch-proje | 
| 546c0 | 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 20 74 | ct`.does.not.require.a.project.t | 
| 546e0 | 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 66 65 | o.work.*.Don't.show.hidden.buffe | 
| 54700 | 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 72 73 | rs.in.projectile-project-buffers | 
| 54720 | 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 65 63 | ..###.Changes..*.Rebound.`projec | 
| 54740 | 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 43 2d | tile-compile-project`.to.<kbd>C- | 
| 54760 | 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 69 6c | c.p.c</kbd>.*.Rebound.`projectil | 
| 54780 | 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 0a 2a | e-dired`.to.<kbd>C-c.p.D</kbd>.* | 
| 547a0 | 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 70 72 | .Reworked.`projectile-compile-pr | 
| 547c0 | 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 6f 6a | oject`.and.`projectile-test-proj | 
| 547e0 | 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 67 75 | ect`.to.be.smarter,.more.configu | 
| 54800 | 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 6f 20 | rable.and.closer.in.behavior.to. | 
| 54820 | 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 60 70 | the.stock.`compile`.command.*.`p | 
| 54840 | 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 64 3e | rojectile-switch-project`.(<kbd> | 
| 54860 | 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 63 74 | C-c.p.s</kbd>).now.runs.`project | 
| 54880 | 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 65 64 | ile-find-file`.instead.of.`dired | 
| 548a0 | 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 20 4e | `...##.0.9.1.(2013-04-26)..###.N | 
| 548c0 | 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 20 66 | ew.features..*.Display.recentf.f | 
| 548e0 | 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 42 75 | iles.in.helm-projectile...###.Bu | 
| 54900 | 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 72 6c | gs.fixed..*.#95.-.handle.properl | 
| 54920 | 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 2e 30 | y.missing.project.root..##.0.9.0 | 
| 54940 | 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 73 0a | .(2013-04-24)..###.New.features. | 
| 54960 | 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 66 69 | .*.Use.fast.external.tools.to.fi | 
| 54980 | 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 2e 20 | nd.project.files.when.possible.. | 
| 549a0 | 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 61 6c | This.is.the.default.option.on.al | 
| 549c0 | 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 6f 6d | l.Unices..*.Removed.obsolete.com | 
| 549e0 | 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 63 74 | mand.`projectile-reindex-project | 
| 54a00 | 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 60 70 | `..*.Removed.obsolete.command.`p | 
| 54a20 | 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 73 75 | rojectile-open`..*.Introduced.su | 
| 54a40 | 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 69 74 | pport.for.finding.tests.and.swit | 
| 54a60 | 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 2a 20 | ching.between.code.and.tests..*. | 
| 54a80 | 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 65 74 | Implement.basic.project.type.det | 
| 54aa0 | 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 20 72 | ection..*.Add.a.simple.version.r | 
| 54ac0 | 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 72 73 | eporting.command.projectile-vers | 
| 54ae0 | 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 74 6f | ion..*.Display.relative.paths.to | 
| 54b00 | 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 6d 62 | .project.files.instead.of.disamb | 
| 54b20 | 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 65 73 | iguated.filenames..*.Directories | 
| 54b40 | 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 65 20 | .listed.in..projectile.file.are. | 
| 54b60 | 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 65 64 | excluded.when.tags.are.generated | 
| 54b80 | 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 20 61 | ..*.Remembers.visited.projects.a | 
| 54ba0 | 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 68 20 | nd.may.switch.between.them.with. | 
| 54bc0 | 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 20 53 | `projectile-switch-project`..*.S | 
| 54be0 | 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 69 6e | upports.`lein.{compile|test}`.in | 
| 54c00 | 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 72 6f | .Clojure.projects..*.Support.pro | 
| 54c20 | 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 70 72 | jects.only.for.subdirs.of.the.pr | 
| 54c40 | 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 74 6f | oject.root..*.Add.the.ability.to | 
| 54c60 | 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 67 73 | .manually.cache.files...###.Bugs | 
| 54c80 | 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 68 65 | .fixed..*.#57.-.properly.set.the | 
| 54ca0 | 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 6e 76 | .current.working.dir,.before.inv | 
| 54cc0 | 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 6f 72 | oking.shell.commands.*.#71.-.cor | 
| 54ce0 | 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 67 20 | rect.regenerate.tags.keybinding. | 
| 54d00 | 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 65 20 | in.the.README..###.Misc..*.Move. | 
| 54d20 | 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 77 20 | menu.entry.under.`Tools`.*.Show. | 
| 54d40 | 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 6e 67 | indexing.message.only.when.doing | 
| 54d60 | 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 73 69 | .native.project.indexing.*.Massi | 
| 54d80 | 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 00 00 | ve.performance.improvements..... | 
| 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 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 39 2e 31    2f 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 00 | projectile-2.9.1/.dir-locals.el. | 
| 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 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 | 
| 54e80 | 30 30 30 31 34 32 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 37 35 31 00 20 30 00 00 00 | 0001421.00000000000.014751..0... | 
| 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 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................... | 
| 54f20 | 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................... | 
| 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 | ................................ | 
| 55000 | 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.;; | 
| 55020 | 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 | 
| 55040 | 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"). | 
| 55060 | 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 | 
| 55080 | 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 | 
| 550a0 | 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/ | 
| 550c0 | 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 | 
| 550e0 | 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:[[ | 
| 55100 | 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:]]+\\)")................. | 
| 55120 | 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)... | 
| 55140 | 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. | 
| 55160 | 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 | 
| 55180 | 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)...... | 
| 551a0 | 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 | 
| 551c0 | 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)......... | 
| 551e0 | 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 | 
| 55200 | 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". | 
| 55220 | 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". | 
| 55240 | 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"))................ | 
| 55260 | 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 | 
| 55280 | 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).................... | 
| 552a0 | 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 | 
| 552c0 | 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)...................... | 
| 552e0 | 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 | 
| 55300 | 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))))................ | 
| 55320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 553a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 553c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 553e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 554a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 554c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 554e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 555a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 555c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 555e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 556a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 556c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 556e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 557a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 557c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 557e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 558a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 558c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 558e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 559a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 559c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 559e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 55fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 560a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 560c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 560e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 561a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 561c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 561e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 562a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 562c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 562e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 563a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 563c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 563e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 564a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 564c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 564e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 565a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 565c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 565e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 566a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 566c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 566e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 567a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 567c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 567e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 568a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 568c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 568e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 569a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 569c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 569e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 56fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 570a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 570c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 570e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 571a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 571c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 571e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 572a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 572c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 572e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 573a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 573c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 573e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 574a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 574c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 574e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 575a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 575c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 575e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 576a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 576c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 576e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 57780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 577a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 577c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 577e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |