@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 PhutilLipsumContextFreeGrammar
4 extends PhutilContextFreeGrammar {
5
6 protected function getRules() {
7 return array(
8 'start' => array(
9 '[words].',
10 '[words].',
11 '[words].',
12 '[words]: [word], [word], [word] [word].',
13 '[words]; [lowerwords].',
14 '[words]!',
15 '[words], "[words]."',
16 '[words] ("[upperword] [upperword] [upperword]") [lowerwords].',
17 '[words]?',
18 ),
19 'words' => array(
20 '[upperword] [lowerwords]',
21 ),
22 'upperword' => array(
23 'Lorem',
24 'Ipsum',
25 'Dolor',
26 'Sit',
27 'Amet',
28 ),
29 'lowerwords' => array(
30 '[word]',
31 '[word] [word]',
32 '[word] [word] [word]',
33 '[word] [word] [word] [word]',
34 '[word] [word] [word] [word] [word]',
35 '[word] [word] [word] [word] [word]',
36 '[word] [word] [word] [word] [word] [word]',
37 '[word] [word] [word] [word] [word] [word]',
38 ),
39 'word' => array(
40 'ad',
41 'adipisicing',
42 'aliqua',
43 'aliquip',
44 'amet',
45 'anim',
46 'aute',
47 'cillum',
48 'commodo',
49 'consectetur',
50 'consequat',
51 'culpa',
52 'cupidatat',
53 'deserunt',
54 'do',
55 'dolor',
56 'dolore',
57 'duis',
58 'ea',
59 'eiusmod',
60 'elit',
61 'enim',
62 'esse',
63 'est',
64 'et',
65 'eu',
66 'ex',
67 'excepteur',
68 'exercitation',
69 'fugiat',
70 'id',
71 'in',
72 'incididunt',
73 'ipsum',
74 'irure',
75 'labore',
76 'laboris',
77 'laborum',
78 'lorem',
79 'magna',
80 'minim',
81 'mollit',
82 'nisi',
83 'non',
84 'nostrud',
85 'nulla',
86 'occaecat',
87 'officia',
88 'pariatur',
89 'proident',
90 'qui',
91 'quis',
92 'reprehenderit',
93 'sed',
94 'sint',
95 'sit',
96 'sunt',
97 'tempor',
98 'ullamco',
99 'ut',
100 'velit',
101 'veniam',
102 'voluptate',
103 ),
104 );
105 }
106
107}