@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhabricatorPasteFilenameContextFreeGrammar
4 extends PhutilContextFreeGrammar {
5
6 protected function getRules() {
7 return array(
8 'start' => array(
9 '[scripty]',
10 ),
11 'scripty' => array(
12 '[thing]',
13 '[thing]',
14 '[thing]_[tail]',
15 '[action]_[thing]',
16 '[action]_[thing]',
17 '[action]_[thing]_[tail]',
18 '[scripty]_and_[scripty]',
19 ),
20 'tail' => array(
21 'script',
22 'helper',
23 'backup',
24 'pro',
25 '[tail]_[tail]',
26 ),
27 'thing' => array(
28 '[thingnoun]',
29 '[thingadjective]_[thingnoun]',
30 '[thingadjective]_[thingadjective]_[thingnoun]',
31 ),
32 'thingnoun' => array(
33 'backup',
34 'backups',
35 'database',
36 'databases',
37 'table',
38 'tables',
39 'memory',
40 'disk',
41 'disks',
42 'user',
43 'users',
44 'account',
45 'accounts',
46 'shard',
47 'shards',
48 'node',
49 'nodes',
50 'host',
51 'hosts',
52 'account',
53 'accounts',
54 ),
55 'thingadjective' => array(
56 'backup',
57 'database',
58 'memory',
59 'disk',
60 'user',
61 'account',
62 'forgotten',
63 'lost',
64 'elder',
65 'ancient',
66 'legendary',
67 ),
68 'action' => array(
69 'manage',
70 'update',
71 'compact',
72 'quick',
73 'probe',
74 'sync',
75 'undo',
76 'administrate',
77 'assess',
78 'purge',
79 'cancel',
80 'entomb',
81 'accelerate',
82 'plan',
83 ),
84 );
85 }
86
87}