wordlist 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +27 -0
  3. data/.gitignore +6 -3
  4. data/ChangeLog.md +45 -1
  5. data/Gemfile +13 -0
  6. data/LICENSE.txt +1 -3
  7. data/README.md +266 -61
  8. data/Rakefile +7 -32
  9. data/benchmarks.rb +115 -0
  10. data/bin/wordlist +4 -7
  11. data/data/stop_words/ar.txt +104 -0
  12. data/data/stop_words/bg.txt +259 -0
  13. data/data/stop_words/bn.txt +363 -0
  14. data/data/stop_words/ca.txt +126 -0
  15. data/data/stop_words/cs.txt +138 -0
  16. data/data/stop_words/da.txt +101 -0
  17. data/data/stop_words/de.txt +129 -0
  18. data/data/stop_words/el.txt +79 -0
  19. data/data/stop_words/en.txt +175 -0
  20. data/data/stop_words/es.txt +178 -0
  21. data/data/stop_words/eu.txt +98 -0
  22. data/data/stop_words/fa.txt +332 -0
  23. data/data/stop_words/fi.txt +747 -0
  24. data/data/stop_words/fr.txt +116 -0
  25. data/data/stop_words/ga.txt +109 -0
  26. data/data/stop_words/gl.txt +160 -0
  27. data/data/stop_words/he.txt +499 -0
  28. data/data/stop_words/hi.txt +97 -0
  29. data/data/stop_words/hr.txt +179 -0
  30. data/data/stop_words/hu.txt +35 -0
  31. data/data/stop_words/hy.txt +45 -0
  32. data/data/stop_words/id.txt +357 -0
  33. data/data/stop_words/it.txt +134 -0
  34. data/data/stop_words/ja.txt +44 -0
  35. data/data/stop_words/ko.txt +677 -0
  36. data/data/stop_words/ku.txt +63 -0
  37. data/data/stop_words/lt.txt +507 -0
  38. data/data/stop_words/lv.txt +163 -0
  39. data/data/stop_words/mr.txt +99 -0
  40. data/data/stop_words/nl.txt +48 -0
  41. data/data/stop_words/no.txt +172 -0
  42. data/data/stop_words/pl.txt +138 -0
  43. data/data/stop_words/pt.txt +147 -0
  44. data/data/stop_words/ro.txt +281 -0
  45. data/data/stop_words/ru.txt +421 -0
  46. data/data/stop_words/sk.txt +173 -0
  47. data/data/stop_words/sv.txt +386 -0
  48. data/data/stop_words/th.txt +115 -0
  49. data/data/stop_words/tr.txt +114 -0
  50. data/data/stop_words/uk.txt +28 -0
  51. data/data/stop_words/ur.txt +513 -0
  52. data/data/stop_words/zh.txt +125 -0
  53. data/gemspec.yml +4 -10
  54. data/lib/wordlist/abstract_wordlist.rb +24 -0
  55. data/lib/wordlist/builder.rb +170 -138
  56. data/lib/wordlist/cli.rb +458 -0
  57. data/lib/wordlist/compression/reader.rb +72 -0
  58. data/lib/wordlist/compression/writer.rb +80 -0
  59. data/lib/wordlist/exceptions.rb +31 -0
  60. data/lib/wordlist/file.rb +176 -0
  61. data/lib/wordlist/format.rb +38 -0
  62. data/lib/wordlist/lexer/lang.rb +32 -0
  63. data/lib/wordlist/lexer/stop_words.rb +68 -0
  64. data/lib/wordlist/lexer.rb +218 -0
  65. data/lib/wordlist/list_methods.rb +462 -0
  66. data/lib/wordlist/modifiers/capitalize.rb +45 -0
  67. data/lib/wordlist/modifiers/downcase.rb +45 -0
  68. data/lib/wordlist/modifiers/gsub.rb +51 -0
  69. data/lib/wordlist/modifiers/modifier.rb +44 -0
  70. data/lib/wordlist/modifiers/mutate.rb +133 -0
  71. data/lib/wordlist/modifiers/mutate_case.rb +25 -0
  72. data/lib/wordlist/modifiers/sub.rb +97 -0
  73. data/lib/wordlist/modifiers/tr.rb +71 -0
  74. data/lib/wordlist/modifiers/upcase.rb +45 -0
  75. data/lib/wordlist/modifiers.rb +8 -0
  76. data/lib/wordlist/operators/binary_operator.rb +38 -0
  77. data/lib/wordlist/operators/concat.rb +47 -0
  78. data/lib/wordlist/operators/intersect.rb +55 -0
  79. data/lib/wordlist/operators/operator.rb +29 -0
  80. data/lib/wordlist/operators/power.rb +72 -0
  81. data/lib/wordlist/operators/product.rb +50 -0
  82. data/lib/wordlist/operators/subtract.rb +54 -0
  83. data/lib/wordlist/operators/unary_operator.rb +29 -0
  84. data/lib/wordlist/operators/union.rb +61 -0
  85. data/lib/wordlist/operators/unique.rb +52 -0
  86. data/lib/wordlist/operators.rb +7 -0
  87. data/lib/wordlist/unique_filter.rb +40 -61
  88. data/lib/wordlist/version.rb +1 -1
  89. data/lib/wordlist/words.rb +71 -0
  90. data/lib/wordlist.rb +103 -2
  91. data/spec/abstract_list_spec.rb +18 -0
  92. data/spec/builder_spec.rb +220 -76
  93. data/spec/cli_spec.rb +801 -0
  94. data/spec/compression/reader_spec.rb +137 -0
  95. data/spec/compression/writer_spec.rb +194 -0
  96. data/spec/file_spec.rb +258 -0
  97. data/spec/fixtures/wordlist.txt +15 -0
  98. data/spec/fixtures/wordlist.txt.bz2 +0 -0
  99. data/spec/fixtures/wordlist.txt.gz +0 -0
  100. data/spec/fixtures/wordlist.txt.xz +0 -0
  101. data/spec/fixtures/wordlist_with_ambiguous_format +3 -0
  102. data/spec/fixtures/wordlist_with_comments.txt +19 -0
  103. data/spec/fixtures/wordlist_with_empty_lines.txt +19 -0
  104. data/spec/format_spec.rb +50 -0
  105. data/spec/helpers/text.rb +3 -3
  106. data/spec/helpers/wordlist.rb +2 -2
  107. data/spec/lexer/lang_spec.rb +70 -0
  108. data/spec/lexer/stop_words_spec.rb +77 -0
  109. data/spec/lexer_spec.rb +652 -0
  110. data/spec/list_methods_spec.rb +181 -0
  111. data/spec/modifiers/capitalize_spec.rb +27 -0
  112. data/spec/modifiers/downcase_spec.rb +27 -0
  113. data/spec/modifiers/gsub_spec.rb +59 -0
  114. data/spec/modifiers/modifier_spec.rb +20 -0
  115. data/spec/modifiers/mutate_case_spec.rb +46 -0
  116. data/spec/modifiers/mutate_spec.rb +39 -0
  117. data/spec/modifiers/sub_spec.rb +98 -0
  118. data/spec/modifiers/tr_spec.rb +46 -0
  119. data/spec/modifiers/upcase_spec.rb +27 -0
  120. data/spec/operators/binary_operator_spec.rb +19 -0
  121. data/spec/operators/concat_spec.rb +26 -0
  122. data/spec/operators/intersect_spec.rb +37 -0
  123. data/spec/operators/operator_spec.rb +16 -0
  124. data/spec/operators/power_spec.rb +57 -0
  125. data/spec/operators/product_spec.rb +39 -0
  126. data/spec/operators/subtract_spec.rb +37 -0
  127. data/spec/operators/union_spec.rb +37 -0
  128. data/spec/operators/unique_spec.rb +25 -0
  129. data/spec/spec_helper.rb +2 -1
  130. data/spec/unique_filter_spec.rb +108 -18
  131. data/spec/wordlist_spec.rb +55 -3
  132. data/spec/words_spec.rb +41 -0
  133. metadata +183 -120
  134. data/lib/wordlist/builders/website.rb +0 -216
  135. data/lib/wordlist/builders.rb +0 -1
  136. data/lib/wordlist/flat_file.rb +0 -47
  137. data/lib/wordlist/list.rb +0 -162
  138. data/lib/wordlist/mutator.rb +0 -113
  139. data/lib/wordlist/parsers.rb +0 -74
  140. data/lib/wordlist/runners/list.rb +0 -116
  141. data/lib/wordlist/runners/runner.rb +0 -67
  142. data/lib/wordlist/runners.rb +0 -2
  143. data/scripts/benchmark +0 -59
  144. data/scripts/text/comedy_of_errors.txt +0 -4011
  145. data/spec/flat_file_spec.rb +0 -25
  146. data/spec/list_spec.rb +0 -58
  147. data/spec/mutator_spec.rb +0 -43
  148. data/spec/parsers_spec.rb +0 -118
@@ -0,0 +1,179 @@
1
+ a
2
+ ako
3
+ ali
4
+ bi
5
+ bih
6
+ bila
7
+ bili
8
+ bilo
9
+ bio
10
+ bismo
11
+ biste
12
+ biti
13
+ bumo
14
+ da
15
+ do
16
+ duž
17
+ ga
18
+ hoće
19
+ hoćemo
20
+ hoćete
21
+ hoćeš
22
+ hoću
23
+ i
24
+ iako
25
+ ih
26
+ ili
27
+ iz
28
+ ja
29
+ je
30
+ jedna
31
+ jedne
32
+ jedno
33
+ jer
34
+ jesam
35
+ jesi
36
+ jesmo
37
+ jest
38
+ jeste
39
+ jesu
40
+ jim
41
+ joj
42
+ još
43
+ ju
44
+ kada
45
+ kako
46
+ kao
47
+ koja
48
+ koje
49
+ koji
50
+ kojima
51
+ koju
52
+ kroz
53
+ li
54
+ me
55
+ mene
56
+ meni
57
+ mi
58
+ mimo
59
+ moj
60
+ moja
61
+ moje
62
+ mu
63
+ na
64
+ nad
65
+ nakon
66
+ nam
67
+ nama
68
+ nas
69
+ naš
70
+ naša
71
+ naše
72
+ našeg
73
+ ne
74
+ nego
75
+ neka
76
+ neki
77
+ nekog
78
+ neku
79
+ nema
80
+ netko
81
+ neće
82
+ nećemo
83
+ nećete
84
+ nećeš
85
+ neću
86
+ nešto
87
+ ni
88
+ nije
89
+ nikoga
90
+ nikoje
91
+ nikoju
92
+ nisam
93
+ nisi
94
+ nismo
95
+ niste
96
+ nisu
97
+ njega
98
+ njegov
99
+ njegova
100
+ njegovo
101
+ njemu
102
+ njezin
103
+ njezina
104
+ njezino
105
+ njih
106
+ njihov
107
+ njihova
108
+ njihovo
109
+ njim
110
+ njima
111
+ njoj
112
+ nju
113
+ no
114
+ o
115
+ od
116
+ odmah
117
+ on
118
+ ona
119
+ oni
120
+ ono
121
+ ova
122
+ pa
123
+ pak
124
+ po
125
+ pod
126
+ pored
127
+ prije
128
+ s
129
+ sa
130
+ sam
131
+ samo
132
+ se
133
+ sebe
134
+ sebi
135
+ si
136
+ smo
137
+ ste
138
+ su
139
+ sve
140
+ svi
141
+ svog
142
+ svoj
143
+ svoja
144
+ svoje
145
+ svom
146
+ ta
147
+ tada
148
+ taj
149
+ tako
150
+ te
151
+ tebe
152
+ tebi
153
+ ti
154
+ to
155
+ toj
156
+ tome
157
+ tu
158
+ tvoj
159
+ tvoja
160
+ tvoje
161
+ u
162
+ uz
163
+ vam
164
+ vama
165
+ vas
166
+ vaš
167
+ vaša
168
+ vaše
169
+ već
170
+ vi
171
+ vrlo
172
+ za
173
+ zar
174
+ će
175
+ ćemo
176
+ ćete
177
+ ćeš
178
+ ću
179
+ što
@@ -0,0 +1,35 @@
1
+ a
2
+ az
3
+ egy
4
+ be
5
+ ki
6
+ le
7
+ fel
8
+ meg
9
+ el
10
+ át
11
+
12
+ ide
13
+ oda
14
+ szét
15
+ össze
16
+ vissza
17
+ de
18
+ hát
19
+ és
20
+ vagy
21
+ hogy
22
+ van
23
+ lesz
24
+ volt
25
+ csak
26
+ nem
27
+ igen
28
+ mint
29
+ én
30
+ te
31
+ õ
32
+ mi
33
+ ti
34
+ õk
35
+ ön
@@ -0,0 +1,45 @@
1
+ այդ
2
+ այլ
3
+ այն
4
+ այս
5
+ դու
6
+ դուք
7
+ եմ
8
+ են
9
+ ենք
10
+ ես
11
+ եք
12
+ է
13
+ էի
14
+ էին
15
+ էինք
16
+ էիր
17
+ էիք
18
+ էր
19
+ ըստ
20
+ թ
21
+ ի
22
+ ին
23
+ իսկ
24
+ իր
25
+ կամ
26
+ համար
27
+ հետ
28
+ հետո
29
+ մենք
30
+ մեջ
31
+ մի
32
+ ն
33
+ նա
34
+ նաև
35
+ նրա
36
+ նրանք
37
+ որ
38
+ որը
39
+ որոնք
40
+ որպես
41
+ ու
42
+ ում
43
+ պիտի
44
+ վրա
45
+ և
@@ -0,0 +1,357 @@
1
+ ada
2
+ adanya
3
+ adalah
4
+ adapun
5
+ agak
6
+ agaknya
7
+ agar
8
+ akan
9
+ akankah
10
+ akhirnya
11
+ aku
12
+ akulah
13
+ amat
14
+ amatlah
15
+ anda
16
+ andalah
17
+ antar
18
+ diantaranya
19
+ antara
20
+ antaranya
21
+ diantara
22
+ apa
23
+ apaan
24
+ mengapa
25
+ apabila
26
+ apakah
27
+ apalagi
28
+ apatah
29
+ atau
30
+ ataukah
31
+ ataupun
32
+ bagai
33
+ bagaikan
34
+ sebagai
35
+ sebagainya
36
+ bagaimana
37
+ bagaimanapun
38
+ sebagaimana
39
+ bagaimanakah
40
+ bagi
41
+ bahkan
42
+ bahwa
43
+ bahwasanya
44
+ sebaliknya
45
+ banyak
46
+ sebanyak
47
+ beberapa
48
+ seberapa
49
+ begini
50
+ beginian
51
+ beginikah
52
+ beginilah
53
+ sebegini
54
+ begitu
55
+ begitukah
56
+ begitulah
57
+ begitupun
58
+ sebegitu
59
+ belum
60
+ belumlah
61
+ sebelum
62
+ sebelumnya
63
+ sebenarnya
64
+ berapa
65
+ berapakah
66
+ berapalah
67
+ berapapun
68
+ betulkah
69
+ sebetulnya
70
+ biasa
71
+ biasanya
72
+ bila
73
+ bilakah
74
+ bisa
75
+ bisakah
76
+ sebisanya
77
+ boleh
78
+ bolehkah
79
+ bolehlah
80
+ buat
81
+ bukan
82
+ bukankah
83
+ bukanlah
84
+ bukannya
85
+ cuma
86
+ percuma
87
+ dahulu
88
+ dalam
89
+ dan
90
+ dapat
91
+ dari
92
+ daripada
93
+ dekat
94
+ demi
95
+ demikian
96
+ demikianlah
97
+ sedemikian
98
+ dengan
99
+ depan
100
+ di
101
+ dia
102
+ dialah
103
+ dini
104
+ diri
105
+ dirinya
106
+ terdiri
107
+ dong
108
+ dulu
109
+ enggak
110
+ enggaknya
111
+ entah
112
+ entahlah
113
+ terhadap
114
+ terhadapnya
115
+ hal
116
+ hampir
117
+ hanya
118
+ hanyalah
119
+ harus
120
+ haruslah
121
+ harusnya
122
+ seharusnya
123
+ hendak
124
+ hendaklah
125
+ hendaknya
126
+ hingga
127
+ sehingga
128
+ ia
129
+ ialah
130
+ ibarat
131
+ ingin
132
+ inginkah
133
+ inginkan
134
+ ini
135
+ inikah
136
+ inilah
137
+ itu
138
+ itukah
139
+ itulah
140
+ jangan
141
+ jangankan
142
+ janganlah
143
+ jika
144
+ jikalau
145
+ juga
146
+ justru
147
+ kala
148
+ kalau
149
+ kalaulah
150
+ kalaupun
151
+ kalian
152
+ kami
153
+ kamilah
154
+ kamu
155
+ kamulah
156
+ kan
157
+ kapan
158
+ kapankah
159
+ kapanpun
160
+ dikarenakan
161
+ karena
162
+ karenanya
163
+ ke
164
+ kecil
165
+ kemudian
166
+ kenapa
167
+ kepada
168
+ kepadanya
169
+ ketika
170
+ seketika
171
+ khususnya
172
+ kini
173
+ kinilah
174
+ kiranya
175
+ sekiranya
176
+ kita
177
+ kitalah
178
+ kok
179
+ lagi
180
+ lagian
181
+ selagi
182
+ lah
183
+ lain
184
+ lainnya
185
+ melainkan
186
+ selaku
187
+ lalu
188
+ melalui
189
+ terlalu
190
+ lama
191
+ lamanya
192
+ selama
193
+ selama
194
+ selamanya
195
+ lebih
196
+ terlebih
197
+ bermacam
198
+ macam
199
+ semacam
200
+ maka
201
+ makanya
202
+ makin
203
+ malah
204
+ malahan
205
+ mampu
206
+ mampukah
207
+ mana
208
+ manakala
209
+ manalagi
210
+ masih
211
+ masihkah
212
+ semasih
213
+ masing
214
+ mau
215
+ maupun
216
+ semaunya
217
+ memang
218
+ mereka
219
+ merekalah
220
+ meski
221
+ meskipun
222
+ semula
223
+ mungkin
224
+ mungkinkah
225
+ nah
226
+ namun
227
+ nanti
228
+ nantinya
229
+ nyaris
230
+ oleh
231
+ olehnya
232
+ seorang
233
+ seseorang
234
+ pada
235
+ padanya
236
+ padahal
237
+ paling
238
+ sepanjang
239
+ pantas
240
+ sepantasnya
241
+ sepantasnyalah
242
+ para
243
+ pasti
244
+ pastilah
245
+ per
246
+ pernah
247
+ pula
248
+ pun
249
+ merupakan
250
+ rupanya
251
+ serupa
252
+ saat
253
+ saatnya
254
+ sesaat
255
+ saja
256
+ sajalah
257
+ saling
258
+ bersama
259
+ sama
260
+ sesama
261
+ sambil
262
+ sampai
263
+ sana
264
+ sangat
265
+ sangatlah
266
+ saya
267
+ sayalah
268
+ se
269
+ sebab
270
+ sebabnya
271
+ sebuah
272
+ tersebut
273
+ tersebutlah
274
+ sedang
275
+ sedangkan
276
+ sedikit
277
+ sedikitnya
278
+ segala
279
+ segalanya
280
+ segera
281
+ sesegera
282
+ sejak
283
+ sejenak
284
+ sekali
285
+ sekalian
286
+ sekalipun
287
+ sesekali
288
+ sekaligus
289
+ sekarang
290
+ sekarang
291
+ sekitar
292
+ sekitarnya
293
+ sela
294
+ selain
295
+ selalu
296
+ seluruh
297
+ seluruhnya
298
+ semakin
299
+ sementara
300
+ sempat
301
+ semua
302
+ semuanya
303
+ sendiri
304
+ sendirinya
305
+ seolah
306
+ seperti
307
+ sepertinya
308
+ sering
309
+ seringnya
310
+ serta
311
+ siapa
312
+ siapakah
313
+ siapapun
314
+ disini
315
+ disinilah
316
+ sini
317
+ sinilah
318
+ sesuatu
319
+ sesuatunya
320
+ suatu
321
+ sesudah
322
+ sesudahnya
323
+ sudah
324
+ sudahkah
325
+ sudahlah
326
+ supaya
327
+ tadi
328
+ tadinya
329
+ tak
330
+ tanpa
331
+ setelah
332
+ telah
333
+ tentang
334
+ tentu
335
+ tentulah
336
+ tentunya
337
+ tertentu
338
+ seterusnya
339
+ tapi
340
+ tetapi
341
+ setiap
342
+ tiap
343
+ setidaknya
344
+ tidak
345
+ tidakkah
346
+ tidaklah
347
+ toh
348
+ waduh
349
+ wah
350
+ wahai
351
+ sewaktu
352
+ walau
353
+ walaupun
354
+ wong
355
+ yaitu
356
+ yakni
357
+ yang
@@ -0,0 +1,134 @@
1
+ a
2
+ adesso
3
+ ai
4
+ al
5
+ alla
6
+ allo
7
+ allora
8
+ altre
9
+ altri
10
+ altro
11
+ anche
12
+ ancora
13
+ avere
14
+ aveva
15
+ avevano
16
+ ben
17
+ buono
18
+ che
19
+ chi
20
+ cinque
21
+ comprare
22
+ con
23
+ consecutivi
24
+ consecutivo
25
+ cosa
26
+ cui
27
+ da
28
+ del
29
+ della
30
+ dello
31
+ dentro
32
+ deve
33
+ devo
34
+ di
35
+ doppio
36
+ due
37
+ e
38
+ ecco
39
+ fare
40
+ fine
41
+ fino
42
+ fra
43
+ gente
44
+ giu
45
+ ha
46
+ hai
47
+ hanno
48
+ ho
49
+ il
50
+ indietro
51
+ invece
52
+ io
53
+ la
54
+ lavoro
55
+ le
56
+ lei
57
+ lo
58
+ loro
59
+ lui
60
+ lungo
61
+ ma
62
+ me
63
+ meglio
64
+ molta
65
+ molti
66
+ molto
67
+ nei
68
+ nella
69
+ no
70
+ noi
71
+ nome
72
+ nostro
73
+ nove
74
+ nuovi
75
+ nuovo
76
+ o
77
+ oltre
78
+ ora
79
+ otto
80
+ peggio
81
+ pero
82
+ persone
83
+ piu
84
+ poco
85
+ primo
86
+ promesso
87
+ qua
88
+ quarto
89
+ quasi
90
+ quattro
91
+ quello
92
+ questo
93
+ qui
94
+ quindi
95
+ quinto
96
+ rispetto
97
+ sara
98
+ secondo
99
+ sei
100
+ sembra
101
+ sembrava
102
+ senza
103
+ sette
104
+ sia
105
+ siamo
106
+ siete
107
+ solo
108
+ sono
109
+ sopra
110
+ soprattutto
111
+ sotto
112
+ stati
113
+ stato
114
+ stesso
115
+ su
116
+ subito
117
+ sul
118
+ sulla
119
+ tanto
120
+ te
121
+ tempo
122
+ terzo
123
+ tra
124
+ tre
125
+ triplo
126
+ ultimo
127
+ un
128
+ una
129
+ uno
130
+ va
131
+ vai
132
+ voi
133
+ volte
134
+ vostro