regexp_parser 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/Gemfile +1 -1
  4. data/LICENSE +1 -1
  5. data/README.md +31 -27
  6. data/Rakefile +6 -70
  7. data/lib/regexp_parser/expression/base.rb +123 -0
  8. data/lib/regexp_parser/expression/classes/anchor.rb +0 -2
  9. data/lib/regexp_parser/expression/classes/{backref.rb → backreference.rb} +0 -0
  10. data/lib/regexp_parser/expression/classes/{set → character_set}/intersection.rb +0 -0
  11. data/lib/regexp_parser/expression/classes/{set → character_set}/range.rb +0 -0
  12. data/lib/regexp_parser/expression/classes/{set.rb → character_set.rb} +0 -0
  13. data/lib/regexp_parser/expression/classes/{escape.rb → escape_sequence.rb} +13 -7
  14. data/lib/regexp_parser/expression/classes/free_space.rb +0 -2
  15. data/lib/regexp_parser/expression/classes/literal.rb +1 -5
  16. data/lib/regexp_parser/expression/classes/property.rb +0 -2
  17. data/lib/regexp_parser/expression/classes/root.rb +0 -1
  18. data/lib/regexp_parser/expression/classes/type.rb +0 -2
  19. data/lib/regexp_parser/expression/methods/strfregexp.rb +1 -1
  20. data/lib/regexp_parser/expression/quantifier.rb +1 -1
  21. data/lib/regexp_parser/expression/sequence.rb +0 -1
  22. data/lib/regexp_parser/expression/subexpression.rb +0 -1
  23. data/lib/regexp_parser/expression.rb +6 -130
  24. data/lib/regexp_parser/lexer.rb +8 -6
  25. data/lib/regexp_parser/scanner/properties/long.csv +622 -0
  26. data/lib/regexp_parser/scanner/properties/short.csv +246 -0
  27. data/lib/regexp_parser/scanner/scanner.rl +6 -4
  28. data/lib/regexp_parser/scanner.rb +126 -124
  29. data/lib/regexp_parser/syntax/any.rb +2 -7
  30. data/lib/regexp_parser/syntax/base.rb +91 -66
  31. data/lib/regexp_parser/syntax/token/anchor.rb +15 -0
  32. data/lib/regexp_parser/syntax/{tokens → token}/assertion.rb +2 -2
  33. data/lib/regexp_parser/syntax/token/backreference.rb +30 -0
  34. data/lib/regexp_parser/syntax/{tokens → token}/character_set.rb +2 -2
  35. data/lib/regexp_parser/syntax/{tokens → token}/character_type.rb +3 -3
  36. data/lib/regexp_parser/syntax/{tokens → token}/conditional.rb +3 -3
  37. data/lib/regexp_parser/syntax/token/escape.rb +31 -0
  38. data/lib/regexp_parser/syntax/{tokens → token}/group.rb +7 -7
  39. data/lib/regexp_parser/syntax/{tokens → token}/keep.rb +1 -1
  40. data/lib/regexp_parser/syntax/{tokens → token}/meta.rb +2 -2
  41. data/lib/regexp_parser/syntax/{tokens → token}/posix_class.rb +3 -3
  42. data/lib/regexp_parser/syntax/token/quantifier.rb +35 -0
  43. data/lib/regexp_parser/syntax/token/unicode_property.rb +722 -0
  44. data/lib/regexp_parser/syntax/token.rb +45 -0
  45. data/lib/regexp_parser/syntax/version_lookup.rb +20 -29
  46. data/lib/regexp_parser/syntax/versions/1.8.6.rb +13 -20
  47. data/lib/regexp_parser/syntax/versions/1.9.1.rb +10 -17
  48. data/lib/regexp_parser/syntax/versions/1.9.3.rb +3 -10
  49. data/lib/regexp_parser/syntax/versions/2.0.0.rb +8 -15
  50. data/lib/regexp_parser/syntax/versions/2.2.0.rb +3 -9
  51. data/lib/regexp_parser/syntax/versions/2.3.0.rb +3 -9
  52. data/lib/regexp_parser/syntax/versions/2.4.0.rb +3 -9
  53. data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -8
  54. data/lib/regexp_parser/syntax/versions/2.5.0.rb +3 -9
  55. data/lib/regexp_parser/syntax/versions/2.6.0.rb +3 -9
  56. data/lib/regexp_parser/syntax/versions/2.6.2.rb +3 -9
  57. data/lib/regexp_parser/syntax/versions/2.6.3.rb +3 -9
  58. data/lib/regexp_parser/syntax/versions/3.1.0.rb +4 -0
  59. data/lib/regexp_parser/syntax/versions/3.2.0.rb +4 -0
  60. data/lib/regexp_parser/syntax/versions.rb +1 -1
  61. data/lib/regexp_parser/syntax.rb +1 -1
  62. data/lib/regexp_parser/token.rb +9 -20
  63. data/lib/regexp_parser/version.rb +1 -1
  64. data/lib/regexp_parser.rb +0 -2
  65. data/regexp_parser.gemspec +20 -22
  66. metadata +36 -167
  67. data/lib/regexp_parser/scanner/properties/long.yml +0 -594
  68. data/lib/regexp_parser/scanner/properties/short.yml +0 -237
  69. data/lib/regexp_parser/syntax/tokens/anchor.rb +0 -15
  70. data/lib/regexp_parser/syntax/tokens/backref.rb +0 -24
  71. data/lib/regexp_parser/syntax/tokens/escape.rb +0 -30
  72. data/lib/regexp_parser/syntax/tokens/quantifier.rb +0 -35
  73. data/lib/regexp_parser/syntax/tokens/unicode_property.rb +0 -675
  74. data/lib/regexp_parser/syntax/tokens.rb +0 -45
  75. data/spec/expression/base_spec.rb +0 -104
  76. data/spec/expression/clone_spec.rb +0 -152
  77. data/spec/expression/conditional_spec.rb +0 -89
  78. data/spec/expression/free_space_spec.rb +0 -27
  79. data/spec/expression/methods/match_length_spec.rb +0 -161
  80. data/spec/expression/methods/match_spec.rb +0 -25
  81. data/spec/expression/methods/strfregexp_spec.rb +0 -224
  82. data/spec/expression/methods/tests_spec.rb +0 -99
  83. data/spec/expression/methods/traverse_spec.rb +0 -161
  84. data/spec/expression/options_spec.rb +0 -128
  85. data/spec/expression/subexpression_spec.rb +0 -50
  86. data/spec/expression/to_h_spec.rb +0 -26
  87. data/spec/expression/to_s_spec.rb +0 -108
  88. data/spec/lexer/all_spec.rb +0 -22
  89. data/spec/lexer/conditionals_spec.rb +0 -53
  90. data/spec/lexer/delimiters_spec.rb +0 -68
  91. data/spec/lexer/escapes_spec.rb +0 -14
  92. data/spec/lexer/keep_spec.rb +0 -10
  93. data/spec/lexer/literals_spec.rb +0 -64
  94. data/spec/lexer/nesting_spec.rb +0 -99
  95. data/spec/lexer/refcalls_spec.rb +0 -60
  96. data/spec/parser/all_spec.rb +0 -43
  97. data/spec/parser/alternation_spec.rb +0 -88
  98. data/spec/parser/anchors_spec.rb +0 -17
  99. data/spec/parser/conditionals_spec.rb +0 -179
  100. data/spec/parser/errors_spec.rb +0 -30
  101. data/spec/parser/escapes_spec.rb +0 -121
  102. data/spec/parser/free_space_spec.rb +0 -130
  103. data/spec/parser/groups_spec.rb +0 -108
  104. data/spec/parser/keep_spec.rb +0 -6
  105. data/spec/parser/options_spec.rb +0 -28
  106. data/spec/parser/posix_classes_spec.rb +0 -8
  107. data/spec/parser/properties_spec.rb +0 -115
  108. data/spec/parser/quantifiers_spec.rb +0 -68
  109. data/spec/parser/refcalls_spec.rb +0 -117
  110. data/spec/parser/set/intersections_spec.rb +0 -127
  111. data/spec/parser/set/ranges_spec.rb +0 -111
  112. data/spec/parser/sets_spec.rb +0 -178
  113. data/spec/parser/types_spec.rb +0 -18
  114. data/spec/scanner/all_spec.rb +0 -18
  115. data/spec/scanner/anchors_spec.rb +0 -21
  116. data/spec/scanner/conditionals_spec.rb +0 -128
  117. data/spec/scanner/delimiters_spec.rb +0 -52
  118. data/spec/scanner/errors_spec.rb +0 -67
  119. data/spec/scanner/escapes_spec.rb +0 -64
  120. data/spec/scanner/free_space_spec.rb +0 -165
  121. data/spec/scanner/groups_spec.rb +0 -61
  122. data/spec/scanner/keep_spec.rb +0 -10
  123. data/spec/scanner/literals_spec.rb +0 -39
  124. data/spec/scanner/meta_spec.rb +0 -18
  125. data/spec/scanner/options_spec.rb +0 -36
  126. data/spec/scanner/properties_spec.rb +0 -64
  127. data/spec/scanner/quantifiers_spec.rb +0 -25
  128. data/spec/scanner/refcalls_spec.rb +0 -55
  129. data/spec/scanner/sets_spec.rb +0 -151
  130. data/spec/scanner/types_spec.rb +0 -14
  131. data/spec/spec_helper.rb +0 -16
  132. data/spec/support/runner.rb +0 -42
  133. data/spec/support/shared_examples.rb +0 -77
  134. data/spec/support/warning_extractor.rb +0 -60
  135. data/spec/syntax/syntax_spec.rb +0 -48
  136. data/spec/syntax/syntax_token_map_spec.rb +0 -23
  137. data/spec/syntax/versions/1.8.6_spec.rb +0 -17
  138. data/spec/syntax/versions/1.9.1_spec.rb +0 -10
  139. data/spec/syntax/versions/1.9.3_spec.rb +0 -9
  140. data/spec/syntax/versions/2.0.0_spec.rb +0 -13
  141. data/spec/syntax/versions/2.2.0_spec.rb +0 -9
  142. data/spec/syntax/versions/aliases_spec.rb +0 -37
  143. data/spec/token/token_spec.rb +0 -85
@@ -0,0 +1,722 @@
1
+ module Regexp::Syntax
2
+ module Token
3
+ module UnicodeProperty
4
+ all = proc { |name| constants.grep(/#{name}/).flat_map(&method(:const_get)) }
5
+
6
+ CharType_V1_9_0 = %i[alnum alpha ascii blank cntrl digit graph
7
+ lower print punct space upper word xdigit]
8
+
9
+ CharType_V2_5_0 = %i[xposixpunct]
10
+
11
+ POSIX = %i[any assigned newline]
12
+
13
+ module Category
14
+ Letter = %i[letter uppercase_letter lowercase_letter
15
+ titlecase_letter modifier_letter other_letter]
16
+
17
+ Mark = %i[mark nonspacing_mark spacing_mark
18
+ enclosing_mark]
19
+
20
+ Number = %i[number decimal_number letter_number
21
+ other_number]
22
+
23
+ Punctuation = %i[punctuation connector_punctuation dash_punctuation
24
+ open_punctuation close_punctuation initial_punctuation
25
+ final_punctuation other_punctuation]
26
+
27
+ Symbol = %i[symbol math_symbol currency_symbol
28
+ modifier_symbol other_symbol]
29
+
30
+ Separator = %i[separator space_separator line_separator
31
+ paragraph_separator]
32
+
33
+ Codepoint = %i[other control format
34
+ surrogate private_use unassigned]
35
+
36
+ All = Letter + Mark + Number + Punctuation +
37
+ Symbol + Separator + Codepoint
38
+ end
39
+
40
+ Age_V1_9_3 = %i[age=1.1 age=2.0 age=2.1 age=3.0 age=3.1
41
+ age=3.2 age=4.0 age=4.1 age=5.0 age=5.1
42
+ age=5.2 age=6.0]
43
+
44
+ Age_V2_0_0 = %i[age=6.1]
45
+
46
+ Age_V2_2_0 = %i[age=6.2 age=6.3 age=7.0]
47
+
48
+ Age_V2_3_0 = %i[age=8.0]
49
+
50
+ Age_V2_4_0 = %i[age=9.0]
51
+
52
+ Age_V2_5_0 = %i[age=10.0]
53
+
54
+ Age_V2_6_0 = %i[age=11.0]
55
+
56
+ Age_V2_6_2 = %i[age=12.0]
57
+
58
+ Age_V2_6_3 = %i[age=12.1]
59
+
60
+ Age_V3_1_0 = %i[age=13.0]
61
+
62
+ Age_V3_2_0 = %i[age=14.0]
63
+
64
+ Age = all[:Age_V]
65
+
66
+ Derived_V1_9_0 = %i[
67
+ ascii_hex_digit
68
+ alphabetic
69
+ cased
70
+ changes_when_casefolded
71
+ changes_when_casemapped
72
+ changes_when_lowercased
73
+ changes_when_titlecased
74
+ changes_when_uppercased
75
+ case_ignorable
76
+ bidi_control
77
+ dash
78
+ deprecated
79
+ default_ignorable_code_point
80
+ diacritic
81
+ extender
82
+ grapheme_base
83
+ grapheme_extend
84
+ grapheme_link
85
+ hex_digit
86
+ hyphen
87
+ id_continue
88
+ ideographic
89
+ id_start
90
+ ids_binary_operator
91
+ ids_trinary_operator
92
+ join_control
93
+ logical_order_exception
94
+ lowercase
95
+ math
96
+ noncharacter_code_point
97
+ other_alphabetic
98
+ other_default_ignorable_code_point
99
+ other_grapheme_extend
100
+ other_id_continue
101
+ other_id_start
102
+ other_lowercase
103
+ other_math
104
+ other_uppercase
105
+ pattern_syntax
106
+ pattern_white_space
107
+ quotation_mark
108
+ radical
109
+ sentence_terminal
110
+ soft_dotted
111
+ terminal_punctuation
112
+ unified_ideograph
113
+ uppercase
114
+ variation_selector
115
+ white_space
116
+ xid_start
117
+ xid_continue
118
+ ]
119
+
120
+ Derived_V2_0_0 = %i[
121
+ cased_letter
122
+ combining_mark
123
+ ]
124
+
125
+ Derived_V2_4_0 = %i[
126
+ prepended_concatenation_mark
127
+ ]
128
+
129
+ Derived_V2_5_0 = %i[
130
+ regional_indicator
131
+ ]
132
+
133
+ Derived = all[:Derived_V]
134
+
135
+ Script_V1_9_0 = %i[
136
+ arabic
137
+ imperial_aramaic
138
+ armenian
139
+ avestan
140
+ balinese
141
+ bamum
142
+ bengali
143
+ bopomofo
144
+ braille
145
+ buginese
146
+ buhid
147
+ canadian_aboriginal
148
+ carian
149
+ cham
150
+ cherokee
151
+ coptic
152
+ cypriot
153
+ cyrillic
154
+ devanagari
155
+ deseret
156
+ egyptian_hieroglyphs
157
+ ethiopic
158
+ georgian
159
+ glagolitic
160
+ gothic
161
+ greek
162
+ gujarati
163
+ gurmukhi
164
+ hangul
165
+ han
166
+ hanunoo
167
+ hebrew
168
+ hiragana
169
+ old_italic
170
+ javanese
171
+ kayah_li
172
+ katakana
173
+ kharoshthi
174
+ khmer
175
+ kannada
176
+ kaithi
177
+ tai_tham
178
+ lao
179
+ latin
180
+ lepcha
181
+ limbu
182
+ linear_b
183
+ lisu
184
+ lycian
185
+ lydian
186
+ malayalam
187
+ mongolian
188
+ meetei_mayek
189
+ myanmar
190
+ nko
191
+ ogham
192
+ ol_chiki
193
+ old_turkic
194
+ oriya
195
+ osmanya
196
+ phags_pa
197
+ inscriptional_pahlavi
198
+ phoenician
199
+ inscriptional_parthian
200
+ rejang
201
+ runic
202
+ samaritan
203
+ old_south_arabian
204
+ saurashtra
205
+ shavian
206
+ sinhala
207
+ sundanese
208
+ syloti_nagri
209
+ syriac
210
+ tagbanwa
211
+ tai_le
212
+ new_tai_lue
213
+ tamil
214
+ tai_viet
215
+ telugu
216
+ tifinagh
217
+ tagalog
218
+ thaana
219
+ thai
220
+ tibetan
221
+ ugaritic
222
+ vai
223
+ old_persian
224
+ cuneiform
225
+ yi
226
+ inherited
227
+ common
228
+ unknown
229
+ ]
230
+
231
+ Script_V1_9_3 = %i[
232
+ brahmi
233
+ batak
234
+ mandaic
235
+ ]
236
+
237
+ Script_V2_0_0 = %i[
238
+ chakma
239
+ meroitic_cursive
240
+ meroitic_hieroglyphs
241
+ miao
242
+ sharada
243
+ sora_sompeng
244
+ takri
245
+ ]
246
+
247
+ Script_V2_2_0 = %i[
248
+ caucasian_albanian
249
+ bassa_vah
250
+ duployan
251
+ elbasan
252
+ grantha
253
+ pahawh_hmong
254
+ khojki
255
+ linear_a
256
+ mahajani
257
+ manichaean
258
+ mende_kikakui
259
+ modi
260
+ mro
261
+ old_north_arabian
262
+ nabataean
263
+ palmyrene
264
+ pau_cin_hau
265
+ old_permic
266
+ psalter_pahlavi
267
+ siddham
268
+ khudawadi
269
+ tirhuta
270
+ warang_citi
271
+ ]
272
+
273
+ Script_V2_3_0 = %i[
274
+ ahom
275
+ anatolian_hieroglyphs
276
+ hatran
277
+ multani
278
+ old_hungarian
279
+ signwriting
280
+ ]
281
+
282
+ Script_V2_4_0 = %i[
283
+ adlam
284
+ bhaiksuki
285
+ marchen
286
+ newa
287
+ osage
288
+ tangut
289
+ ]
290
+
291
+ Script_V2_5_0 = %i[
292
+ masaram_gondi
293
+ nushu
294
+ soyombo
295
+ zanabazar_square
296
+ ]
297
+
298
+ Script_V2_6_0 = %i[
299
+ dogra
300
+ gunjala_gondi
301
+ hanifi_rohingya
302
+ makasar
303
+ medefaidrin
304
+ old_sogdian
305
+ sogdian
306
+ ]
307
+
308
+ Script_V2_6_2 = %i[
309
+ egyptian_hieroglyph_format_controls
310
+ elymaic
311
+ nandinagari
312
+ nyiakeng_puachue_hmong
313
+ ottoman_siyaq_numbers
314
+ small_kana_extension
315
+ symbols_and_pictographs_extended_a
316
+ tamil_supplement
317
+ wancho
318
+ ]
319
+
320
+ Script_V3_1_0 = %i[
321
+ chorasmian
322
+ dives_akuru
323
+ khitan_small_script
324
+ yezidi
325
+ ]
326
+
327
+ Script_V3_2_0 = %i[
328
+ cypro_minoan
329
+ old_uyghur
330
+ tangsa
331
+ toto
332
+ vithkuqi
333
+ ]
334
+
335
+ Script = all[:Script_V]
336
+
337
+ UnicodeBlock_V1_9_0 = %i[
338
+ in_alphabetic_presentation_forms
339
+ in_arabic
340
+ in_armenian
341
+ in_arrows
342
+ in_basic_latin
343
+ in_bengali
344
+ in_block_elements
345
+ in_bopomofo_extended
346
+ in_bopomofo
347
+ in_box_drawing
348
+ in_braille_patterns
349
+ in_buhid
350
+ in_cjk_compatibility_forms
351
+ in_cjk_compatibility_ideographs
352
+ in_cjk_compatibility
353
+ in_cjk_radicals_supplement
354
+ in_cjk_symbols_and_punctuation
355
+ in_cjk_unified_ideographs_extension_a
356
+ in_cjk_unified_ideographs
357
+ in_cherokee
358
+ in_combining_diacritical_marks_for_symbols
359
+ in_combining_diacritical_marks
360
+ in_combining_half_marks
361
+ in_control_pictures
362
+ in_currency_symbols
363
+ in_cyrillic_supplement
364
+ in_cyrillic
365
+ in_devanagari
366
+ in_dingbats
367
+ in_enclosed_alphanumerics
368
+ in_enclosed_cjk_letters_and_months
369
+ in_ethiopic
370
+ in_general_punctuation
371
+ in_geometric_shapes
372
+ in_georgian
373
+ in_greek_extended
374
+ in_greek_and_coptic
375
+ in_gujarati
376
+ in_gurmukhi
377
+ in_halfwidth_and_fullwidth_forms
378
+ in_hangul_compatibility_jamo
379
+ in_hangul_jamo
380
+ in_hangul_syllables
381
+ in_hanunoo
382
+ in_hebrew
383
+ in_high_private_use_surrogates
384
+ in_high_surrogates
385
+ in_hiragana
386
+ in_ipa_extensions
387
+ in_ideographic_description_characters
388
+ in_kanbun
389
+ in_kangxi_radicals
390
+ in_kannada
391
+ in_katakana_phonetic_extensions
392
+ in_katakana
393
+ in_khmer_symbols
394
+ in_khmer
395
+ in_lao
396
+ in_latin_extended_additional
397
+ in_letterlike_symbols
398
+ in_limbu
399
+ in_low_surrogates
400
+ in_malayalam
401
+ in_mathematical_operators
402
+ in_miscellaneous_symbols_and_arrows
403
+ in_miscellaneous_symbols
404
+ in_miscellaneous_technical
405
+ in_mongolian
406
+ in_myanmar
407
+ in_number_forms
408
+ in_ogham
409
+ in_optical_character_recognition
410
+ in_oriya
411
+ in_phonetic_extensions
412
+ in_private_use_area
413
+ in_runic
414
+ in_sinhala
415
+ in_small_form_variants
416
+ in_spacing_modifier_letters
417
+ in_specials
418
+ in_superscripts_and_subscripts
419
+ in_supplemental_mathematical_operators
420
+ in_syriac
421
+ in_tagalog
422
+ in_tagbanwa
423
+ in_tai_le
424
+ in_tamil
425
+ in_telugu
426
+ in_thaana
427
+ in_thai
428
+ in_tibetan
429
+ in_unified_canadian_aboriginal_syllabics
430
+ in_variation_selectors
431
+ in_yi_radicals
432
+ in_yi_syllables
433
+ in_yijing_hexagram_symbols
434
+ ]
435
+
436
+ UnicodeBlock_V2_0_0 = %i[
437
+ in_aegean_numbers
438
+ in_alchemical_symbols
439
+ in_ancient_greek_musical_notation
440
+ in_ancient_greek_numbers
441
+ in_ancient_symbols
442
+ in_arabic_extended_a
443
+ in_arabic_mathematical_alphabetic_symbols
444
+ in_arabic_presentation_forms_a
445
+ in_arabic_presentation_forms_b
446
+ in_arabic_supplement
447
+ in_avestan
448
+ in_balinese
449
+ in_bamum
450
+ in_bamum_supplement
451
+ in_batak
452
+ in_brahmi
453
+ in_buginese
454
+ in_byzantine_musical_symbols
455
+ in_cjk_compatibility_ideographs_supplement
456
+ in_cjk_strokes
457
+ in_cjk_unified_ideographs_extension_b
458
+ in_cjk_unified_ideographs_extension_c
459
+ in_cjk_unified_ideographs_extension_d
460
+ in_carian
461
+ in_chakma
462
+ in_cham
463
+ in_combining_diacritical_marks_supplement
464
+ in_common_indic_number_forms
465
+ in_coptic
466
+ in_counting_rod_numerals
467
+ in_cuneiform
468
+ in_cuneiform_numbers_and_punctuation
469
+ in_cypriot_syllabary
470
+ in_cyrillic_extended_a
471
+ in_cyrillic_extended_b
472
+ in_deseret
473
+ in_devanagari_extended
474
+ in_domino_tiles
475
+ in_egyptian_hieroglyphs
476
+ in_emoticons
477
+ in_enclosed_alphanumeric_supplement
478
+ in_enclosed_ideographic_supplement
479
+ in_ethiopic_extended
480
+ in_ethiopic_extended_a
481
+ in_ethiopic_supplement
482
+ in_georgian_supplement
483
+ in_glagolitic
484
+ in_gothic
485
+ in_hangul_jamo_extended_a
486
+ in_hangul_jamo_extended_b
487
+ in_imperial_aramaic
488
+ in_inscriptional_pahlavi
489
+ in_inscriptional_parthian
490
+ in_javanese
491
+ in_kaithi
492
+ in_kana_supplement
493
+ in_kayah_li
494
+ in_kharoshthi
495
+ in_latin_1_supplement
496
+ in_latin_extended_a
497
+ in_latin_extended_b
498
+ in_latin_extended_c
499
+ in_latin_extended_d
500
+ in_lepcha
501
+ in_linear_b_ideograms
502
+ in_linear_b_syllabary
503
+ in_lisu
504
+ in_lycian
505
+ in_lydian
506
+ in_mahjong_tiles
507
+ in_mandaic
508
+ in_mathematical_alphanumeric_symbols
509
+ in_meetei_mayek
510
+ in_meetei_mayek_extensions
511
+ in_meroitic_cursive
512
+ in_meroitic_hieroglyphs
513
+ in_miao
514
+ in_miscellaneous_mathematical_symbols_a
515
+ in_miscellaneous_mathematical_symbols_b
516
+ in_miscellaneous_symbols_and_pictographs
517
+ in_modifier_tone_letters
518
+ in_musical_symbols
519
+ in_myanmar_extended_a
520
+ in_nko
521
+ in_new_tai_lue
522
+ in_no_block
523
+ in_ol_chiki
524
+ in_old_italic
525
+ in_old_persian
526
+ in_old_south_arabian
527
+ in_old_turkic
528
+ in_osmanya
529
+ in_phags_pa
530
+ in_phaistos_disc
531
+ in_phoenician
532
+ in_phonetic_extensions_supplement
533
+ in_playing_cards
534
+ in_rejang
535
+ in_rumi_numeral_symbols
536
+ in_samaritan
537
+ in_saurashtra
538
+ in_sharada
539
+ in_shavian
540
+ in_sora_sompeng
541
+ in_sundanese
542
+ in_sundanese_supplement
543
+ in_supplemental_arrows_a
544
+ in_supplemental_arrows_b
545
+ in_supplemental_punctuation
546
+ in_supplementary_private_use_area_a
547
+ in_supplementary_private_use_area_b
548
+ in_syloti_nagri
549
+ in_tags
550
+ in_tai_tham
551
+ in_tai_viet
552
+ in_tai_xuan_jing_symbols
553
+ in_takri
554
+ in_tifinagh
555
+ in_transport_and_map_symbols
556
+ in_ugaritic
557
+ in_unified_canadian_aboriginal_syllabics_extended
558
+ in_vai
559
+ in_variation_selectors_supplement
560
+ in_vedic_extensions
561
+ in_vertical_forms
562
+ ]
563
+
564
+ UnicodeBlock_V2_2_0 = %i[
565
+ in_bassa_vah
566
+ in_caucasian_albanian
567
+ in_combining_diacritical_marks_extended
568
+ in_coptic_epact_numbers
569
+ in_duployan
570
+ in_elbasan
571
+ in_geometric_shapes_extended
572
+ in_grantha
573
+ in_khojki
574
+ in_khudawadi
575
+ in_latin_extended_e
576
+ in_linear_a
577
+ in_mahajani
578
+ in_manichaean
579
+ in_mende_kikakui
580
+ in_modi
581
+ in_mro
582
+ in_myanmar_extended_b
583
+ in_nabataean
584
+ in_old_north_arabian
585
+ in_old_permic
586
+ in_ornamental_dingbats
587
+ in_pahawh_hmong
588
+ in_palmyrene
589
+ in_pau_cin_hau
590
+ in_psalter_pahlavi
591
+ in_shorthand_format_controls
592
+ in_siddham
593
+ in_sinhala_archaic_numbers
594
+ in_supplemental_arrows_c
595
+ in_tirhuta
596
+ in_warang_citi
597
+ ]
598
+
599
+ UnicodeBlock_V2_3_0 = %i[
600
+ in_ahom
601
+ in_anatolian_hieroglyphs
602
+ in_cjk_unified_ideographs_extension_e
603
+ in_cherokee_supplement
604
+ in_early_dynastic_cuneiform
605
+ in_hatran
606
+ in_multani
607
+ in_old_hungarian
608
+ in_supplemental_symbols_and_pictographs
609
+ in_sutton_signwriting
610
+ ]
611
+
612
+ UnicodeBlock_V2_4_0 = %i[
613
+ in_adlam
614
+ in_bhaiksuki
615
+ in_cyrillic_extended_c
616
+ in_glagolitic_supplement
617
+ in_ideographic_symbols_and_punctuation
618
+ in_marchen
619
+ in_mongolian_supplement
620
+ in_newa
621
+ in_osage
622
+ in_tangut
623
+ in_tangut_components
624
+ ]
625
+
626
+ UnicodeBlock_V2_5_0 = %i[
627
+ in_cjk_unified_ideographs_extension_f
628
+ in_kana_extended_a
629
+ in_masaram_gondi
630
+ in_nushu
631
+ in_soyombo
632
+ in_syriac_supplement
633
+ in_zanabazar_square
634
+ ]
635
+
636
+ UnicodeBlock_V2_6_0 = %i[
637
+ in_chess_symbols
638
+ in_dogra
639
+ in_georgian_extended
640
+ in_gunjala_gondi
641
+ in_hanifi_rohingya
642
+ in_indic_siyaq_numbers
643
+ in_makasar
644
+ in_mayan_numerals
645
+ in_medefaidrin
646
+ in_old_sogdian
647
+ in_sogdian
648
+ ]
649
+
650
+ UnicodeBlock_V2_6_2 = %i[
651
+ in_egyptian_hieroglyph_format_controls
652
+ in_elymaic
653
+ in_nandinagari
654
+ in_nyiakeng_puachue_hmong
655
+ in_ottoman_siyaq_numbers
656
+ in_small_kana_extension
657
+ in_symbols_and_pictographs_extended_a
658
+ in_tamil_supplement
659
+ in_wancho
660
+ ]
661
+
662
+ UnicodeBlock_V3_1_0 = %i[
663
+ in_chorasmian
664
+ in_cjk_unified_ideographs_extension_g
665
+ in_dives_akuru
666
+ in_khitan_small_script
667
+ in_lisu_supplement
668
+ in_symbols_for_legacy_computing
669
+ in_tangut_supplement
670
+ in_yezidi
671
+ ]
672
+
673
+ UnicodeBlock_V3_2_0 = %i[
674
+ in_arabic_extended_b
675
+ in_cypro_minoan
676
+ in_ethiopic_extended_b
677
+ in_kana_extended_b
678
+ in_latin_extended_f
679
+ in_latin_extended_g
680
+ in_old_uyghur
681
+ in_tangsa
682
+ in_toto
683
+ in_unified_canadian_aboriginal_syllabics_extended_a
684
+ in_vithkuqi
685
+ in_znamenny_musical_notation
686
+ ]
687
+
688
+ UnicodeBlock = all[:UnicodeBlock_V]
689
+
690
+ Emoji_V2_5_0 = %i[
691
+ emoji
692
+ emoji_component
693
+ emoji_modifier
694
+ emoji_modifier_base
695
+ emoji_presentation
696
+ ]
697
+
698
+ Emoji = all[:Emoji_V]
699
+
700
+ V1_9_0 = Category::All + POSIX + all[:V1_9_0]
701
+ V1_9_3 = all[:V1_9_3]
702
+ V2_0_0 = all[:V2_0_0]
703
+ V2_2_0 = all[:V2_2_0]
704
+ V2_3_0 = all[:V2_3_0]
705
+ V2_4_0 = all[:V2_4_0]
706
+ V2_5_0 = all[:V2_5_0]
707
+ V2_6_0 = all[:V2_6_0]
708
+ V2_6_2 = all[:V2_6_2]
709
+ V2_6_3 = all[:V2_6_3]
710
+ V3_1_0 = all[:V3_1_0]
711
+ V3_2_0 = all[:V3_2_0]
712
+
713
+ All = all[/^V\d+_\d+_\d+$/]
714
+
715
+ Type = :property
716
+ NonType = :nonproperty
717
+ end
718
+
719
+ Map[UnicodeProperty::Type] = UnicodeProperty::All
720
+ Map[UnicodeProperty::NonType] = UnicodeProperty::All
721
+ end
722
+ end