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