diff --git a/Ruby/Ruby.sublime-syntax b/Ruby/Ruby.sublime-syntax index e30d499eb0..9ca49e359e 100644 --- a/Ruby/Ruby.sublime-syntax +++ b/Ruby/Ruby.sublime-syntax @@ -66,11 +66,11 @@ first_line_match: |- ) scope: source.ruby variables: - bdigits: (?:[01]+(?:_[01]+)*) - ddigits: (?:\d+(?:_\d+)*) - hdigits: (?:\h+(?:_\h+)*) - odigits: (?:[0-7]+(?:_[0-7]+)*) - exponent: (?:[Ee][-+]?{{ddigits}}) + bin_digits: (?:[01]+(?:_[01]+)*) + dec_digits: (?:\d+(?:_\d+)*) + hex_digits: (?:\h+(?:_\h+)*) + oct_digits: (?:[0-7]+(?:_[0-7]+)*) + dec_exponent: (?:[Ee][-+]?{{dec_digits}}) heredoc_type_css: (?:[[:upper:]_]_)?CSS\b heredoc_type_html: (?:[[:upper:]_]_)?HTML\b heredoc_type_js: (?:[[:upper:]_]_)?(?:JS|JAVASCRIPT)\b @@ -206,97 +206,114 @@ contexts: - match: '\b(__(FILE|LINE|ENCODING)__|self)\b(?![?!])' scope: variable.language.ruby # hexadecimal imaginary numbers: 0xAi, 0xAri - - match: '\b(0[xX]){{hdigits}}(r?i)(r)?\b' - scope: constant.numeric.imaginary.hexadecimal.ruby + - match: '\b(0[xX])({{hex_digits}})(r?i(r)?)\b' + scope: meta.number.imaginary.hexadecimal.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: storage.type.numeric.ruby - 3: invalid.illegal.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: constant.numeric.suffix.ruby + 4: invalid.illegal.numeric.ruby # octal imaginary numbers: 0o1i, 0o1ri, 01i, 01ri - - match: '\b(0[oO]?){{odigits}}(r?i)(r)?\b' - scope: constant.numeric.imaginary.octal.ruby + - match: '\b(0[oO]?)({{oct_digits}})(r?i(r)?)\b' + scope: meta.number.imaginary.octal.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: storage.type.numeric.ruby - 3: invalid.illegal.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: constant.numeric.suffix.ruby + 4: invalid.illegal.numeric.ruby # binary imaginary numbers: 0b1i, 0b1ri - - match: '\b(0[bB]){{bdigits}}(r?i)(r)?\b' - scope: constant.numeric.imaginary.binary.ruby + - match: '\b(0[bB])({{bin_digits}})(r?i(r)?)\b' + scope: meta.number.imaginary.binary.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: storage.type.numeric.ruby - 3: invalid.illegal.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: constant.numeric.suffix.ruby + 4: invalid.illegal.numeric.ruby # decimal imaginary numbers: 0d1i, 0d1ri, 1i, 1ri, 1.1i, 1.1ri, 1e1i, 1.1e1i - match: |- \b(?x: (?: # 0d1i, 0d1ri, 1i, 1ri | 1.1i, 1.1ri - (?: (0[dD])? {{ddigits}} | {{ddigits}} (\.) {{ddigits}} ) (r?i) + (?: (0[dD])? ({{dec_digits}}) | ({{dec_digits}} (\.) {{dec_digits}}) ) (r?i) # 1e1i, 1.1e1i - | {{ddigits}} (?: (\.) {{ddigits}} )? {{exponent}} (r)? (i) + | ({{dec_digits}} (?: (\.) {{dec_digits}} )? {{dec_exponent}}) (r)?(i) ) (r)? )\b - scope: constant.numeric.imaginary.decimal.ruby + scope: meta.number.imaginary.decimal.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: punctuation.separator.decimal.ruby - 3: storage.type.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: constant.numeric.value.ruby 4: punctuation.separator.decimal.ruby - 5: invalid.illegal.numeric.ruby - 6: storage.type.numeric.ruby - 7: invalid.illegal.numeric.ruby + 5: constant.numeric.suffix.ruby + 6: constant.numeric.value.ruby + 7: punctuation.separator.decimal.ruby + 8: constant.numeric.suffix.ruby invalid.illegal.numeric.ruby + 9: constant.numeric.suffix.ruby + 10: constant.numeric.suffix.ruby invalid.illegal.numeric.ruby # hexadecimal rational numbers: 0xAr - - match: '\b(0[xX]){{hdigits}}(r)\b' - scope: constant.numeric.rational.hexadecimal.ruby + - match: '\b(0[xX])({{hex_digits}})(r)\b' + scope: meta.number.rational.hexadecimal.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: storage.type.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: constant.numeric.suffix.ruby # octal rational numbers: 0o1r, 01r - - match: '\b(0[oO]?){{odigits}}(r)\b' - scope: constant.numeric.rational.octal.ruby + - match: '\b(0[oO]?)({{oct_digits}})(r)\b' + scope: meta.number.rational.octal.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: storage.type.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: constant.numeric.suffix.ruby # binary rational numbers: 0b1r - - match: '\b(0[bB]){{bdigits}}(r)\b' - scope: constant.numeric.rational.binary.ruby + - match: '\b(0[bB])({{bin_digits}})(r)\b' + scope: meta.number.rational.binary.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: storage.type.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: constant.numeric.suffix.ruby # decimal rational numbers: 0d1r, 1r, 1.1r - - match: '\b(?:(0[dD])?{{ddigits}}|{{ddigits}}(\.){{ddigits}})(r)\b' - scope: constant.numeric.rational.decimal.ruby + - match: '\b(0[dD])?({{dec_digits}}|{{dec_digits}}(\.){{dec_digits}})(r)\b' + scope: meta.number.rational.decimal.ruby captures: - 1: punctuation.definition.numeric.base.ruby - 2: punctuation.separator.decimal.ruby - 3: storage.type.numeric.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby + 3: punctuation.separator.decimal.ruby + 4: constant.numeric.suffix.ruby # decimal floating point numbers: 1.1, 1e1, 1.1e1 - - match: '\b{{ddigits}}(?:(\.){{ddigits}}|(?:(\.){{ddigits}})?{{exponent}}(r)?)\b' - scope: constant.numeric.float.decimal.ruby + - match: '\b({{dec_digits}})(?:((\.){{dec_digits}})|((?:(\.){{dec_digits}})?{{dec_exponent}})(r)?)\b' + scope: meta.number.float.decimal.ruby captures: - 1: punctuation.separator.decimal.ruby - 2: punctuation.separator.decimal.ruby - 3: invalid.illegal.numeric.rational.ruby + 1: constant.numeric.value.ruby + 2: constant.numeric.value.ruby + 3: punctuation.separator.decimal.ruby + 4: constant.numeric.value.ruby + 5: punctuation.separator.decimal.ruby + 6: constant.numeric.suffix.ruby invalid.illegal.numeric.rational.ruby # hexadecimal integer numbers: 0xA - - match: '\b(0[xX]){{hdigits}}\b' - scope: constant.numeric.integer.hexadecimal.ruby + - match: '\b(0[xX])({{hex_digits}})\b' + scope: meta.number.integer.hexadecimal.ruby captures: - 1: punctuation.definition.numeric.base.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby # octal integer numbers: 0o1, 01 - - match: '\b(0[oO]?){{odigits}}\b' - scope: constant.numeric.integer.octal.ruby + - match: '\b(0[oO]?)({{oct_digits}})\b' + scope: meta.number.integer.octal.ruby captures: - 1: punctuation.definition.numeric.base.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby # binary integer numbers: 0b1 - - match: '\b(0[bB]){{bdigits}}\b' - scope: constant.numeric.integer.binary.ruby + - match: '\b(0[bB])({{bin_digits}})\b' + scope: meta.number.integer.binary.ruby captures: - 1: punctuation.definition.numeric.base.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby # decimal integer numbers: 0d1, 1 - - match: '\b(0[dD])?{{ddigits}}\b' - scope: constant.numeric.integer.decimal.ruby + - match: '\b(0[dD])?({{dec_digits}})\b' + scope: meta.number.integer.decimal.ruby captures: - 1: punctuation.definition.numeric.base.ruby + 1: constant.numeric.base.ruby + 2: constant.numeric.value.ruby # Quoted symbols - match: ":'" scope: punctuation.definition.constant.ruby @@ -350,7 +367,7 @@ contexts: scope: meta.braces.ruby punctuation.section.braces.end.ruby pop: true - match: \h{0,6} - scope: constant.numeric.integer.hexadecimal.ruby + scope: meta.number.integer.hexadecimal.ruby constant.numeric.value.ruby - match: \S scope: invalid.illegal.escape.ruby - match: |- diff --git a/Ruby/syntax_test_ruby.rb b/Ruby/syntax_test_ruby.rb index bcfc7a093b..39efc69f7e 100644 --- a/Ruby/syntax_test_ruby.rb +++ b/Ruby/syntax_test_ruby.rb @@ -195,190 +195,192 @@ def #{sym}(*args, &block) ################## 1234 -#^^^^ constant.numeric.integer.decimal +#^^^^ meta.number.integer.decimal.ruby constant.numeric.value.ruby 1_234 -#^^^^^ constant.numeric.integer.decimal +#^^^^^ meta.number.integer.decimal.ruby constant.numeric.value.ruby 0d170 -#^^^^^ constant.numeric.integer.decimal -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.decimal.ruby constant.numeric.base.ruby +# ^^^ meta.number.integer.decimal.ruby constant.numeric.value.ruby 0D170 -#^^^^^ constant.numeric.integer.decimal -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.decimal.ruby constant.numeric.base.ruby +# ^^^ meta.number.integer.decimal.ruby constant.numeric.value.ruby 0xAa -#^^^^ constant.numeric.integer.hexadecimal -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.hexadecimal.ruby constant.numeric.base.ruby +# ^^ meta.number.integer.hexadecimal.ruby constant.numeric.value.ruby 0XAa -#^^^^ constant.numeric.integer.hexadecimal -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.hexadecimal.ruby constant.numeric.base.ruby +# ^^ meta.number.integer.hexadecimal.ruby constant.numeric.value.ruby 0252 -#^^^^ constant.numeric.integer.octal -#^ punctuation.definition.numeric.base +#^ meta.number.integer.octal.ruby constant.numeric.base.ruby +# ^^^ meta.number.integer.octal.ruby constant.numeric.value.ruby 0o252 -#^^^^^ constant.numeric.integer.octal -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.octal.ruby constant.numeric.base.ruby +# ^^^ meta.number.integer.octal.ruby constant.numeric.value.ruby 0O252 -#^^^^^ constant.numeric.integer.octal -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.octal.ruby constant.numeric.base.ruby +# ^^^ meta.number.integer.octal.ruby constant.numeric.value.ruby 0b10101010 -#^^^^^^^^^^ constant.numeric.integer.binary -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.binary.ruby constant.numeric.base.ruby +# ^^^^^^^^ meta.number.integer.binary.ruby constant.numeric.value.ruby 0B10101010 -#^^^^^^^^^^ constant.numeric.integer.binary -#^^ punctuation.definition.numeric.base +#^^ meta.number.integer.binary.ruby constant.numeric.base.ruby +# ^^^^^^^^ meta.number.integer.binary.ruby constant.numeric.value.ruby 12. -#^^ constant.numeric.integer.decimal +#^^ meta.number.integer.decimal.ruby constant.numeric.value.ruby # ^ punctuation.accessor - constant.numeric - invalid.illegal 12.ir -#^^ constant.numeric.integer.decimal +#^^ meta.number.integer.decimal.ruby constant.numeric.value.ruby # ^ punctuation.accessor - constant.numeric - invalid.illegal # ^^ - constant.numeric - invalid.illegal - storage.type.numeric 12.34 -#^^^^^ constant.numeric.float.decimal +#^^^^^ meta.number.float.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal 1234e-2 -#^^^^^^^ constant.numeric.float.decimal +#^^^^^^^ meta.number.float.decimal.ruby constant.numeric.value.ruby 1.234E1 -#^^^^^^^ constant.numeric.float.decimal +#^^^^^^^ meta.number.float.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal 12e3r -#^^^^^ constant.numeric.float.decimal -# ^ invalid.illegal.numeric +#^^^^ meta.number.float.decimal.ruby constant.numeric.value.ruby +# ^ meta.number.float.decimal.ruby constant.numeric.suffix.ruby invalid.illegal.numeric.rational.ruby 1.2e3r -#^^^^^^ constant.numeric.float.decimal +#^^^^^ meta.number.float.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^ invalid.illegal.numeric +# ^ meta.number.float.decimal.ruby constant.numeric.suffix.ruby invalid.illegal.numeric.rational.ruby 12r -#^^^ constant.numeric.rational.decimal -# ^ storage.type.numeric +#^^ meta.number.rational.decimal.ruby constant.numeric.value.ruby +# ^ meta.number.rational.decimal.ruby constant.numeric.suffix.ruby 12.3r -#^^^^^ constant.numeric.rational.decimal +#^^^^ meta.number.rational.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^ storage.type.numeric +# ^ meta.number.rational.decimal.ruby constant.numeric.suffix.ruby 0d170r -#^^^^^^ constant.numeric.rational.decimal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.rational.decimal.ruby constant.numeric.base.ruby +# ^^^ meta.number.rational.decimal.ruby constant.numeric.value.ruby +# ^ meta.number.rational.decimal.ruby constant.numeric.suffix.ruby 0xAar -#^^^^^ constant.numeric.rational.hexadecimal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.rational.hexadecimal.ruby constant.numeric.base.ruby +# ^^ meta.number.rational.hexadecimal.ruby constant.numeric.value.ruby +# ^ meta.number.rational.hexadecimal.ruby constant.numeric.suffix.ruby 0o252r -#^^^^^^ constant.numeric.rational.octal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.rational.octal.ruby constant.numeric.base.ruby +# ^^^ meta.number.rational.octal.ruby constant.numeric.value.ruby +# ^ meta.number.rational.octal.ruby constant.numeric.suffix.ruby 0b10101010r -#^^^^^^^^^^^ constant.numeric.rational.binary -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.rational.binary.ruby constant.numeric.base.ruby +# ^^^^^^^^ meta.number.rational.binary.ruby constant.numeric.value.ruby +# ^ meta.number.rational.binary.ruby constant.numeric.suffix.ruby 12i -#^^^ constant.numeric.imaginary.decimal -# ^ storage.type.numeric +#^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 12.3i -#^^^^^ constant.numeric.imaginary.decimal +#^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^ storage.type.numeric +# ^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 12e3i -#^^^^^ constant.numeric.imaginary.decimal -# ^ storage.type.numeric +#^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 12e-3i -#^^^^^^ constant.numeric.imaginary.decimal -# ^ storage.type.numeric +#^^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 1.2e3i -#^^^^^^ constant.numeric.imaginary.decimal +#^^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^ storage.type.numeric +# ^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 1.2e-3i -#^^^^^^^ constant.numeric.imaginary.decimal +#^^^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^ storage.type.numeric +# ^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 12ri -#^^^^ constant.numeric.imaginary.decimal -# ^^ storage.type.numeric +#^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 12.3ri -#^^^^^^ constant.numeric.imaginary.decimal +#^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^^ storage.type.numeric +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 0d170i -#^^^^^^ constant.numeric.imaginary.decimal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.decimal.ruby constant.numeric.base.ruby +# ^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 0d170ri -#^^^^^^^ constant.numeric.imaginary.decimal -#^^ punctuation.definition.numeric.base -# ^^ storage.type.numeric +#^^ meta.number.imaginary.decimal.ruby constant.numeric.base.ruby +# ^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 0xAai -#^^^^^ constant.numeric.imaginary.hexadecimal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.base.ruby +# ^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.value.ruby +# ^ meta.number.imaginary.hexadecimal.ruby constant.numeric.suffix.ruby 0xAari -#^^^^^^ constant.numeric.imaginary.hexadecimal -#^^ punctuation.definition.numeric.base -# ^^ storage.type.numeric +#^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.base.ruby +# ^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.suffix.ruby 0o252i -#^^^^^^ constant.numeric.imaginary.octal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.octal.ruby constant.numeric.base.ruby +# ^^^ meta.number.imaginary.octal.ruby constant.numeric.value.ruby +# ^ meta.number.imaginary.octal.ruby constant.numeric.suffix.ruby 0o252ri -#^^^^^^^ constant.numeric.imaginary.octal -#^^ punctuation.definition.numeric.base -# ^^ storage.type.numeric +#^^ meta.number.imaginary.octal.ruby constant.numeric.base.ruby +# ^^^ meta.number.imaginary.octal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.octal.ruby constant.numeric.suffix.ruby 0b10101010i -#^^^^^^^^^^^ constant.numeric.imaginary.binary -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.binary.ruby constant.numeric.base.ruby +# ^^^^^^^^ meta.number.imaginary.binary.ruby constant.numeric.value.ruby +# ^ meta.number.imaginary.binary.ruby constant.numeric.suffix.ruby 0b10101010ri -#^^^^^^^^^^^^ constant.numeric.imaginary.binary -#^^ punctuation.definition.numeric.base -# ^^ storage.type.numeric +#^^ meta.number.imaginary.binary.ruby constant.numeric.base.ruby +# ^^^^^^^^ meta.number.imaginary.binary.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.binary.ruby constant.numeric.suffix.ruby 12e3ri -#^^^^^^ constant.numeric.imaginary.decimal +#^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric -# ^ storage.type.numeric 1.2e3ri -#^^^^^^^ constant.numeric.imaginary.decimal -# ^ punctuation.separator.decimal -# ^ invalid.illegal.numeric -# ^ storage.type.numeric +#^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^ invalid.illegal.numeric.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby 12ir -#^^^^ constant.numeric.imaginary.decimal -# ^ storage.type.numeric +#^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric 12.3ir -#^^^^^^ constant.numeric.imaginary.decimal +#^^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^ storage.type.numeric +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric 12e3ir -#^^^^^^ constant.numeric.imaginary.decimal -# ^ storage.type.numeric +#^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric 1.2e3ir -#^^^^^^^ constant.numeric.imaginary.decimal +#^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby # ^ punctuation.separator.decimal -# ^ storage.type.numeric +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric 0d170ir -#^^^^^^^ constant.numeric.imaginary.decimal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.decimal.ruby constant.numeric.base.ruby +# ^^^ meta.number.imaginary.decimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.decimal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric 0xAair -#^^^^^^ constant.numeric.imaginary.hexadecimal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.base.ruby +# ^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.hexadecimal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric 0o252ir -#^^^^^^^ constant.numeric.imaginary.octal -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.octal.ruby constant.numeric.base.ruby +# ^^^ meta.number.imaginary.octal.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.octal.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric 0b10101010ir -#^^^^^^^^^^^^ constant.numeric.imaginary.binary -#^^ punctuation.definition.numeric.base -# ^ storage.type.numeric +#^^ meta.number.imaginary.binary.ruby constant.numeric.base.ruby +# ^^^^^^^^ meta.number.imaginary.binary.ruby constant.numeric.value.ruby +# ^^ meta.number.imaginary.binary.ruby constant.numeric.suffix.ruby # ^ invalid.illegal.numeric ################## @@ -693,15 +695,15 @@ def #{sym}(*args, &block) # ^^^^ meta.constant.ruby meta.braces.ruby - constant.character.ruby # ^ punctuation.definition.constant.ruby # ^ punctuation.section.braces.begin.ruby -# ^^ constant.numeric.integer.hexadecimal.ruby +# ^^ meta.number.integer.hexadecimal.ruby constant.numeric.value.ruby # ^ punctuation.section.braces.end.ruby ?\u{012ACF 0gxs} # ^^^ meta.constant.ruby - meta.braces.ruby constant.character.ruby # ^^^^^^^^^^^^^ meta.constant.ruby meta.braces.ruby - constant.character.ruby # ^ punctuation.definition.constant.ruby # ^ punctuation.section.braces.begin.ruby -# ^^^^^^ constant.numeric.integer.hexadecimal.ruby -# ^ constant.numeric.integer.hexadecimal.ruby +# ^^^^^^ meta.number.integer.hexadecimal.ruby constant.numeric.value.ruby +# ^ meta.number.integer.hexadecimal.ruby constant.numeric.value.ruby # ^^^ invalid.illegal.escape.ruby # ^ punctuation.section.braces.end.ruby @@ -719,7 +721,7 @@ def #{sym}(*args, &block) # ^^ constant.character.ruby # ^ - constant # ^ keyword.operator.conditional.ruby -# ^^ constant.numeric.integer.decimal.ruby +# ^^ meta.number.integer.decimal.ruby constant.numeric.value.ruby ?a ?A ?あ ?abc ?a0 #^ - constant # ^ punctuation.definition.constant.ruby