regexp_parser 1.5.1 → 1.6.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile +3 -3
- data/Rakefile +3 -4
- data/lib/regexp_parser/scanner/properties/long.yml +15 -1
- data/lib/regexp_parser/scanner/properties/short.yml +5 -0
- data/lib/regexp_parser/syntax/tokens/unicode_property.rb +30 -0
- data/lib/regexp_parser/syntax/versions/2.6.2.rb +10 -0
- data/lib/regexp_parser/syntax/versions/2.6.3.rb +10 -0
- data/lib/regexp_parser/version.rb +1 -1
- data/spec/parser/properties_spec.rb +1 -1
- data/spec/syntax/versions/aliases_spec.rb +3 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0e084510a97816730f68028cba8be7b9ee576e886347952d8400cd26293f3361
|
|
4
|
+
data.tar.gz: f98f2bbb3558c6a50d3415c830ba6dae1f09b2aca944f411b88c1cd65d527f60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 972c429ea4b47e2d2fefbc087cb23362f3e385cbbdbbead8013537d9bfe12b07237dcb1dcfaab6e1793037347d310702fa7fc035ab874dc24722b041493cc3f2
|
|
7
|
+
data.tar.gz: 6ace6c2390101f9d95bcc9325ba70c4d4d9d90d5796ab015ffcef1f58b907eb3a2649ee07f3f77e6f2682a2f4803e6f94e634855e39a97480a1fb17f00b97c23
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
### [1.6.0] - 2019-06-16 - [Janosch Müller](mailto:janosch84@gmail.com)
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Added support for 16 new unicode properties introduced in Ruby 2.6.2 and 2.6.3
|
|
8
|
+
|
|
3
9
|
### [1.5.1] - 2019-05-23 - [Janosch Müller](mailto:janosch84@gmail.com)
|
|
4
10
|
|
|
5
11
|
### Fixed
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
|
@@ -74,14 +74,13 @@ namespace :props do
|
|
|
74
74
|
puts "Wrote #{hash.count} aliases to `#{path}`"
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
[name.downcase.gsub(/[^0-9a-z=.]/, ''), name.downcase]
|
|
77
|
+
long_names_to_tokens = RegexpPropertyValues.all.map do |val|
|
|
78
|
+
[val.identifier, val.full_name.downcase]
|
|
80
79
|
end
|
|
81
80
|
write_hash_to_file.call(long_names_to_tokens, "#{dir}/long.yml")
|
|
82
81
|
|
|
83
82
|
short_names_to_tokens = RegexpPropertyValues.alias_hash.map do |k, v|
|
|
84
|
-
[k.
|
|
83
|
+
[k.identifier, v.full_name.downcase]
|
|
85
84
|
end
|
|
86
85
|
write_hash_to_file.call(short_names_to_tokens, "#{dir}/short.yml")
|
|
87
86
|
end
|
|
@@ -6,6 +6,8 @@ adlam: adlam
|
|
|
6
6
|
age=1.1: age=1.1
|
|
7
7
|
age=10.0: age=10.0
|
|
8
8
|
age=11.0: age=11.0
|
|
9
|
+
age=12.0: age=12.0
|
|
10
|
+
age=12.1: age=12.1
|
|
9
11
|
age=2.0: age=2.0
|
|
10
12
|
age=2.1: age=2.1
|
|
11
13
|
age=3.0: age=3.0
|
|
@@ -64,7 +66,6 @@ changeswhenuppercased: changes_when_uppercased
|
|
|
64
66
|
cherokee: cherokee
|
|
65
67
|
closepunctuation: close_punctuation
|
|
66
68
|
cntrl: cntrl
|
|
67
|
-
combiningmark: combining_mark
|
|
68
69
|
common: common
|
|
69
70
|
connectorpunctuation: connector_punctuation
|
|
70
71
|
control: control
|
|
@@ -86,6 +87,7 @@ dogra: dogra
|
|
|
86
87
|
duployan: duployan
|
|
87
88
|
egyptianhieroglyphs: egyptian_hieroglyphs
|
|
88
89
|
elbasan: elbasan
|
|
90
|
+
elymaic: elymaic
|
|
89
91
|
emoji: emoji
|
|
90
92
|
emojicomponent: emoji_component
|
|
91
93
|
emojimodifier: emoji_modifier
|
|
@@ -206,8 +208,10 @@ indogra: in_dogra
|
|
|
206
208
|
indominotiles: in_domino_tiles
|
|
207
209
|
induployan: in_duployan
|
|
208
210
|
inearlydynasticcuneiform: in_early_dynastic_cuneiform
|
|
211
|
+
inegyptianhieroglyphformatcontrols: in_egyptian_hieroglyph_format_controls
|
|
209
212
|
inegyptianhieroglyphs: in_egyptian_hieroglyphs
|
|
210
213
|
inelbasan: in_elbasan
|
|
214
|
+
inelymaic: in_elymaic
|
|
211
215
|
inemoticons: in_emoticons
|
|
212
216
|
inenclosedalphanumerics: in_enclosed_alphanumerics
|
|
213
217
|
inenclosedalphanumericsupplement: in_enclosed_alphanumeric_supplement
|
|
@@ -322,12 +326,14 @@ inmyanmar: in_myanmar
|
|
|
322
326
|
inmyanmarextendeda: in_myanmar_extended_a
|
|
323
327
|
inmyanmarextendedb: in_myanmar_extended_b
|
|
324
328
|
innabataean: in_nabataean
|
|
329
|
+
innandinagari: in_nandinagari
|
|
325
330
|
innewa: in_newa
|
|
326
331
|
innewtailue: in_new_tai_lue
|
|
327
332
|
innko: in_nko
|
|
328
333
|
innoblock: in_no_block
|
|
329
334
|
innumberforms: in_number_forms
|
|
330
335
|
innushu: in_nushu
|
|
336
|
+
innyiakengpuachuehmong: in_nyiakeng_puachue_hmong
|
|
331
337
|
inogham: in_ogham
|
|
332
338
|
inolchiki: in_ol_chiki
|
|
333
339
|
inoldhungarian: in_old_hungarian
|
|
@@ -343,6 +349,7 @@ inoriya: in_oriya
|
|
|
343
349
|
inornamentaldingbats: in_ornamental_dingbats
|
|
344
350
|
inosage: in_osage
|
|
345
351
|
inosmanya: in_osmanya
|
|
352
|
+
inottomansiyaqnumbers: in_ottoman_siyaq_numbers
|
|
346
353
|
inpahawhhmong: in_pahawh_hmong
|
|
347
354
|
inpalmyrene: in_palmyrene
|
|
348
355
|
inpaucinhau: in_pau_cin_hau
|
|
@@ -368,6 +375,7 @@ insiddham: in_siddham
|
|
|
368
375
|
insinhala: in_sinhala
|
|
369
376
|
insinhalaarchaicnumbers: in_sinhala_archaic_numbers
|
|
370
377
|
insmallformvariants: in_small_form_variants
|
|
378
|
+
insmallkanaextension: in_small_kana_extension
|
|
371
379
|
insogdian: in_sogdian
|
|
372
380
|
insorasompeng: in_sora_sompeng
|
|
373
381
|
insoyombo: in_soyombo
|
|
@@ -386,6 +394,7 @@ insupplementaryprivateuseareaa: in_supplementary_private_use_area_a
|
|
|
386
394
|
insupplementaryprivateuseareab: in_supplementary_private_use_area_b
|
|
387
395
|
insuttonsignwriting: in_sutton_signwriting
|
|
388
396
|
insylotinagri: in_syloti_nagri
|
|
397
|
+
insymbolsandpictographsextendeda: in_symbols_and_pictographs_extended_a
|
|
389
398
|
insyriac: in_syriac
|
|
390
399
|
insyriacsupplement: in_syriac_supplement
|
|
391
400
|
intagalog: in_tagalog
|
|
@@ -397,6 +406,7 @@ intaiviet: in_tai_viet
|
|
|
397
406
|
intaixuanjingsymbols: in_tai_xuan_jing_symbols
|
|
398
407
|
intakri: in_takri
|
|
399
408
|
intamil: in_tamil
|
|
409
|
+
intamilsupplement: in_tamil_supplement
|
|
400
410
|
intangut: in_tangut
|
|
401
411
|
intangutcomponents: in_tangut_components
|
|
402
412
|
intelugu: in_telugu
|
|
@@ -414,6 +424,7 @@ invariationselectors: in_variation_selectors
|
|
|
414
424
|
invariationselectorssupplement: in_variation_selectors_supplement
|
|
415
425
|
invedicextensions: in_vedic_extensions
|
|
416
426
|
inverticalforms: in_vertical_forms
|
|
427
|
+
inwancho: in_wancho
|
|
417
428
|
inwarangciti: in_warang_citi
|
|
418
429
|
inyijinghexagramsymbols: in_yijing_hexagram_symbols
|
|
419
430
|
inyiradicals: in_yi_radicals
|
|
@@ -469,6 +480,7 @@ mro: mro
|
|
|
469
480
|
multani: multani
|
|
470
481
|
myanmar: myanmar
|
|
471
482
|
nabataean: nabataean
|
|
483
|
+
nandinagari: nandinagari
|
|
472
484
|
newa: newa
|
|
473
485
|
newline: newline
|
|
474
486
|
newtailue: new_tai_lue
|
|
@@ -477,6 +489,7 @@ noncharactercodepoint: noncharacter_code_point
|
|
|
477
489
|
nonspacingmark: nonspacing_mark
|
|
478
490
|
number: number
|
|
479
491
|
nushu: nushu
|
|
492
|
+
nyiakengpuachuehmong: nyiakeng_puachue_hmong
|
|
480
493
|
ogham: ogham
|
|
481
494
|
olchiki: ol_chiki
|
|
482
495
|
oldhungarian: old_hungarian
|
|
@@ -569,6 +582,7 @@ uppercase: uppercase
|
|
|
569
582
|
uppercaseletter: uppercase_letter
|
|
570
583
|
vai: vai
|
|
571
584
|
variationselector: variation_selector
|
|
585
|
+
wancho: wancho
|
|
572
586
|
warangciti: warang_citi
|
|
573
587
|
whitespace: white_space
|
|
574
588
|
word: word
|
|
@@ -31,6 +31,7 @@ cher: cherokee
|
|
|
31
31
|
ci: case_ignorable
|
|
32
32
|
cn: unassigned
|
|
33
33
|
co: private_use
|
|
34
|
+
combiningmark: mark
|
|
34
35
|
copt: coptic
|
|
35
36
|
cprt: cypriot
|
|
36
37
|
cs: surrogate
|
|
@@ -49,6 +50,7 @@ dsrt: deseret
|
|
|
49
50
|
dupl: duployan
|
|
50
51
|
egyp: egyptian_hieroglyphs
|
|
51
52
|
elba: elbasan
|
|
53
|
+
elym: elymaic
|
|
52
54
|
ethi: ethiopic
|
|
53
55
|
ext: extender
|
|
54
56
|
geor: georgian
|
|
@@ -72,6 +74,7 @@ hex: hex_digit
|
|
|
72
74
|
hira: hiragana
|
|
73
75
|
hluw: anatolian_hieroglyphs
|
|
74
76
|
hmng: pahawh_hmong
|
|
77
|
+
hmnp: nyiakeng_puachue_hmong
|
|
75
78
|
hung: old_hungarian
|
|
76
79
|
idc: id_continue
|
|
77
80
|
ideo: ideographic
|
|
@@ -125,6 +128,7 @@ mtei: meetei_mayek
|
|
|
125
128
|
mult: multani
|
|
126
129
|
mymr: myanmar
|
|
127
130
|
n: number
|
|
131
|
+
nand: nandinagari
|
|
128
132
|
narb: old_north_arabian
|
|
129
133
|
nbat: nabataean
|
|
130
134
|
nchar: noncharacter_code_point
|
|
@@ -216,6 +220,7 @@ uideo: unified_ideograph
|
|
|
216
220
|
vaii: vai
|
|
217
221
|
vs: variation_selector
|
|
218
222
|
wara: warang_citi
|
|
223
|
+
wcho: wancho
|
|
219
224
|
wspace: white_space
|
|
220
225
|
xidc: xid_continue
|
|
221
226
|
xids: xid_start
|
|
@@ -53,6 +53,10 @@ module Regexp::Syntax
|
|
|
53
53
|
|
|
54
54
|
Age_V2_6_0 = [:'age=11.0']
|
|
55
55
|
|
|
56
|
+
Age_V2_6_2 = [:'age=12.0']
|
|
57
|
+
|
|
58
|
+
Age_V2_6_3 = [:'age=12.1']
|
|
59
|
+
|
|
56
60
|
Age = all[:Age_V]
|
|
57
61
|
|
|
58
62
|
Derived_V1_9_0 = [
|
|
@@ -297,6 +301,18 @@ module Regexp::Syntax
|
|
|
297
301
|
:sogdian,
|
|
298
302
|
]
|
|
299
303
|
|
|
304
|
+
Script_V2_6_2 = [
|
|
305
|
+
:egyptian_hieroglyph_format_controls,
|
|
306
|
+
:elymaic,
|
|
307
|
+
:nandinagari,
|
|
308
|
+
:nyiakeng_puachue_hmong,
|
|
309
|
+
:ottoman_siyaq_numbers,
|
|
310
|
+
:small_kana_extension,
|
|
311
|
+
:symbols_and_pictographs_extended_a,
|
|
312
|
+
:tamil_supplement,
|
|
313
|
+
:wancho,
|
|
314
|
+
]
|
|
315
|
+
|
|
300
316
|
Script = all[:Script_V]
|
|
301
317
|
|
|
302
318
|
UnicodeBlock_V1_9_0 = [
|
|
@@ -612,6 +628,18 @@ module Regexp::Syntax
|
|
|
612
628
|
:in_sogdian,
|
|
613
629
|
]
|
|
614
630
|
|
|
631
|
+
UnicodeBlock_V2_6_2 = [
|
|
632
|
+
:in_egyptian_hieroglyph_format_controls,
|
|
633
|
+
:in_elymaic,
|
|
634
|
+
:in_nandinagari,
|
|
635
|
+
:in_nyiakeng_puachue_hmong,
|
|
636
|
+
:in_ottoman_siyaq_numbers,
|
|
637
|
+
:in_small_kana_extension,
|
|
638
|
+
:in_symbols_and_pictographs_extended_a,
|
|
639
|
+
:in_tamil_supplement,
|
|
640
|
+
:in_wancho,
|
|
641
|
+
]
|
|
642
|
+
|
|
615
643
|
UnicodeBlock = all[:UnicodeBlock_V]
|
|
616
644
|
|
|
617
645
|
Emoji_V2_5_0 = [
|
|
@@ -632,6 +660,8 @@ module Regexp::Syntax
|
|
|
632
660
|
V2_4_0 = all[:V2_4_0]
|
|
633
661
|
V2_5_0 = all[:V2_5_0]
|
|
634
662
|
V2_6_0 = all[:V2_6_0]
|
|
663
|
+
V2_6_2 = all[:V2_6_2]
|
|
664
|
+
V2_6_3 = all[:V2_6_3]
|
|
635
665
|
|
|
636
666
|
All = all[/^V\d+_\d+_\d+$/]
|
|
637
667
|
|
|
@@ -65,7 +65,7 @@ RSpec.describe('Property parsing') do
|
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
specify('parse property shortcut') do
|
|
68
|
-
expect(RP.parse('\p{
|
|
68
|
+
expect(RP.parse('\p{lowercase_letter}')[0].shortcut).to eq 'll'
|
|
69
69
|
expect(RP.parse('\p{sc}')[0].shortcut).to eq 'sc'
|
|
70
70
|
expect(RP.parse('\p{in_bengali}')[0].shortcut).to be_nil
|
|
71
71
|
end
|
|
@@ -25,7 +25,9 @@ RSpec.describe(Regexp::Syntax) do
|
|
|
25
25
|
include_examples 'syntax alias', 'ruby/2.5.0', Regexp::Syntax::V2_4_1
|
|
26
26
|
include_examples 'syntax alias', 'ruby/2.5', Regexp::Syntax::V2_5_0
|
|
27
27
|
include_examples 'syntax alias', 'ruby/2.6.0', Regexp::Syntax::V2_5_0
|
|
28
|
-
include_examples 'syntax alias', 'ruby/2.6',
|
|
28
|
+
include_examples 'syntax alias', 'ruby/2.6.2', Regexp::Syntax::V2_6_2
|
|
29
|
+
include_examples 'syntax alias', 'ruby/2.6.3', Regexp::Syntax::V2_6_3
|
|
30
|
+
include_examples 'syntax alias', 'ruby/2.6', Regexp::Syntax::V2_6_3
|
|
29
31
|
|
|
30
32
|
specify('future alias warning') do
|
|
31
33
|
expect { Regexp::Syntax.new('ruby/5.0') }
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: regexp_parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ammar Ali
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-07-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A library for tokenizing, lexing, and parsing Ruby regular expressions.
|
|
14
14
|
email:
|
|
@@ -87,6 +87,8 @@ files:
|
|
|
87
87
|
- lib/regexp_parser/syntax/versions/2.4.1.rb
|
|
88
88
|
- lib/regexp_parser/syntax/versions/2.5.0.rb
|
|
89
89
|
- lib/regexp_parser/syntax/versions/2.6.0.rb
|
|
90
|
+
- lib/regexp_parser/syntax/versions/2.6.2.rb
|
|
91
|
+
- lib/regexp_parser/syntax/versions/2.6.3.rb
|
|
90
92
|
- lib/regexp_parser/token.rb
|
|
91
93
|
- lib/regexp_parser/version.rb
|
|
92
94
|
- regexp_parser.gemspec
|