| 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  | ................................ |