fix build under newer KConfig by bump cmake min version

This commit is contained in:
2024-09-04 19:01:58 +08:00
parent 727a2ec214
commit 9fb3681e3a
1022 changed files with 4414 additions and 1375 deletions

View File

@ -0,0 +1,12 @@
# Float Literals
12.34
1234e-2
1.234E1
# Range Literals
(1..2)
(2.0..3)
# Method on number
1.5.ceil
1ri.abs
3.times {|i| puts i}
3. times {|i| puts i}

View File

@ -0,0 +1,13 @@
0 400 0 # Float Literals
0 400 0 12.34
0 400 0 1234e-2
0 400 0 1.234E1
0 400 0 # Range Literals
0 400 0 (1..2)
0 400 0 (2.0..3)
0 400 0 # Method on number
0 400 0 1.5.ceil
0 400 0 1ri.abs
0 400 0 3.times {|i| puts i}
0 400 0 3. times {|i| puts i}
0 400 0

View File

@ -0,0 +1,12 @@
{2}# Float Literals{0}
{4}12.34{0}
{4}1234e{10}-{4}2{0}
{4}1.234E1{0}
{2}# Range Literals{0}
{10}({4}1{10}..{4}2{10}){0}
{10}({4}2.0{10}..{4}3{10}){0}
{2}# Method on number{0}
{4}1.5{10}.{11}ceil{0}
{4}1ri{10}.{11}abs{0}
{4}3{10}.{11}times{0} {10}{|{11}i{10}|{0} {11}puts{0} {11}i{10}}{0}
{4}3{10}.{0} {11}times{0} {10}{|{11}i{10}|{0} {11}puts{0} {11}i{10}}{0}

View File

@ -0,0 +1,8 @@
# encoding: utf-8
puts <<A中
#{1+2}
A中
puts <<
#{1+2}

View File

@ -0,0 +1,9 @@
0 400 0 # encoding: utf-8
2 400 0 + puts <<A中
0 401 0 | #{1+2}
0 401 0 | A中
1 400 0
2 400 0 + puts <<中
0 401 0 | #{1+2}
0 401 0 | 中
0 400 0

View File

@ -0,0 +1,8 @@
{2}# encoding: utf-8{0}
{11}puts{0} {10}<<{20}A中{22}
{10}#{{4}1{10}+{4}2{10}}{22}
{20}A中{0}
{11}puts{0} {10}<<{20}中{22}
{10}#{{4}1{10}+{4}2{10}}{22}
{20}中{0}

View File

@ -0,0 +1,118 @@
# Enumerate all styles where possible: 0..31,40..45
# 30,31,40,45 are never set and 1 switches rest of file to error state
#0 whitespace
#
#
#1:error, can be set with a heredoc delimiter >256 characters but that can't be recovered from
#<<ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789
#2:comment line
#3:POD
=begin
3:POD
=end
#4:number
4
#5:word
super
#6:string
"6:double quotes"
#7:single quoted string
'7:single quotes'
#8:class name
class ClassName end
#9:def name
def Function end
#10:operator
&
#11:identifier
identifier
#12:regex
/[12a-z]/
#13:global
$global13
#14:symbol
:symbol14
#15:module name
module Module15 end
#16:instance var
@instance16
#17:class var
@@class17
#18:back ticks
`18`
#19:data section at end of file
#20:here delimiter
<<DELIMITER20
DELIMITER20
#21:single quoted heredoc
<<'D'
21:here doc #{1 + 1}
D
#22:double quoted heredoc
<<"D"
22:here doc #{1 + 1}
D
#23:back tick quoted heredoc
<<`D`
23:here doc #{1 + 1}
D
#24:q quoted string
%q!24:quotes's!
#25:Q quoted string
%Q!25:quotes"s!
#26:executed string
%x(echo 26)
#27:regex
%r(27[a-z]/[A-Z]+)
#28:interpolable string array
%W(28 cgi.rb complex.rb date.rb #{1} )
#29:demoted keyword do
while 1 do end
# 30,31,40,45 never set
#41:non-interpolable string array
%w(#{1 + 1})
#42:non-interpolable symbol array
%i(#{1 + 1})
#43:interpolable symbol array
%I(#{1 + 1})
#44:symbol
%s(#{1 + 1})
#19:data section
__END__

View File

@ -0,0 +1,119 @@
0 400 0 # Enumerate all styles where possible: 0..31,40..45
0 400 0 # 30,31,40,45 are never set and 1 switches rest of file to error state
1 400 0
0 400 0 #0 whitespace
0 400 0 #
0 400 0 #
1 400 0
0 400 0 #1:error, can be set with a heredoc delimiter >256 characters but that can't be recovered from
0 400 0 #<<ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789
1 400 0
0 400 0 #2:comment line
1 400 0
0 400 0 #3:POD
0 400 0 =begin
0 400 0 3:POD
0 400 0 =end
1 400 0
0 400 0 #4:number
0 400 0 4
1 400 0
0 400 0 #5:word
0 400 0 super
1 400 0
0 400 0 #6:string
0 400 0 "6:double quotes"
1 400 0
0 400 0 #7:single quoted string
0 400 0 '7:single quotes'
1 400 0
0 400 0 #8:class name
0 400 0 class ClassName end
1 400 0
0 400 0 #9:def name
0 400 0 def Function end
1 400 0
0 400 0 #10:operator
0 400 0 &
1 400 0
0 400 0 #11:identifier
0 400 0 identifier
1 400 0
0 400 0 #12:regex
0 400 0 /[12a-z]/
1 400 0
0 400 0 #13:global
0 400 0 $global13
1 400 0
0 400 0 #14:symbol
0 400 0 :symbol14
1 400 0
0 400 0 #15:module name
0 400 0 module Module15 end
1 400 0
0 400 0 #16:instance var
0 400 0 @instance16
1 400 0
0 400 0 #17:class var
0 400 0 @@class17
1 400 0
0 400 0 #18:back ticks
0 400 0 `18`
1 400 0
0 400 0 #19:data section at end of file
1 400 0
0 400 0 #20:here delimiter
2 400 0 + <<DELIMITER20
0 401 0 | DELIMITER20
1 400 0
0 400 0 #21:single quoted heredoc
2 400 0 + <<'D'
0 401 0 | 21:here doc #{1 + 1}
0 401 0 | D
1 400 0
0 400 0 #22:double quoted heredoc
2 400 0 + <<"D"
0 401 0 | 22:here doc #{1 + 1}
0 401 0 | D
1 400 0
0 400 0 #23:back tick quoted heredoc
2 400 0 + <<`D`
0 401 0 | 23:here doc #{1 + 1}
0 401 0 | D
1 400 0
0 400 0 #24:q quoted string
0 400 0 %q!24:quotes's!
1 400 0
0 400 0 #25:Q quoted string
0 400 0 %Q!25:quotes"s!
1 400 0
0 400 0 #26:executed string
0 400 0 %x(echo 26)
1 400 0
0 400 0 #27:regex
0 400 0 %r(27[a-z]/[A-Z]+)
1 400 0
0 400 0 #28:interpolable string array
0 400 0 %W(28 cgi.rb complex.rb date.rb #{1} )
1 400 0
0 400 0 #29:demoted keyword do
0 400 0 while 1 do end
1 400 0
0 400 0 # 30,31,40,45 never set
1 400 0
0 400 0 #41:non-interpolable string array
0 400 0 %w(#{1 + 1})
1 400 0
0 400 0 #42:non-interpolable symbol array
0 400 0 %i(#{1 + 1})
1 400 0
0 400 0 #43:interpolable symbol array
0 400 0 %I(#{1 + 1})
1 400 0
0 400 0 #44:symbol
0 400 0 %s(#{1 + 1})
1 400 0
0 400 0 #19:data section
0 400 0 __END__
1 400 0
0 400 0

View File

@ -0,0 +1,118 @@
{2}# Enumerate all styles where possible: 0..31,40..45{0}
{2}# 30,31,40,45 are never set and 1 switches rest of file to error state{0}
{2}#0 whitespace{0}
{2}#{0}
{2}#{0}
{2}#1:error, can be set with a heredoc delimiter >256 characters but that can't be recovered from{0}
{2}#<<ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789{0}
{2}#2:comment line{0}
{2}#3:POD{0}
{3}=begin
3:POD
=end{0}
{2}#4:number{0}
{4}4{0}
{2}#5:word{0}
{5}super{0}
{2}#6:string{0}
{6}"6:double quotes"{0}
{2}#7:single quoted string{0}
{7}'7:single quotes'{0}
{2}#8:class name{0}
{5}class{0} {8}ClassName{0} {5}end{0}
{2}#9:def name{0}
{5}def{0} {9}Function{0} {5}end{0}
{2}#10:operator{0}
{10}&{0}
{2}#11:identifier{0}
{11}identifier{0}
{2}#12:regex{0}
{12}/[12a-z]/{0}
{2}#13:global{0}
{13}$global13{0}
{2}#14:symbol{0}
{14}:symbol14{0}
{2}#15:module name{0}
{5}module{0} {15}Module15{0} {5}end{0}
{2}#16:instance var{0}
{16}@instance16{0}
{2}#17:class var{0}
{17}@@class17{0}
{2}#18:back ticks{0}
{18}`18`{0}
{2}#19:data section at end of file{0}
{2}#20:here delimiter{0}
{10}<<{20}DELIMITER20{22}
{20}DELIMITER20{0}
{2}#21:single quoted heredoc{0}
{10}<<{20}'D'{21}
21:here doc #{1 + 1}
{20}D{0}
{2}#22:double quoted heredoc{0}
{10}<<{20}"D"{22}
22:here doc {10}#{{4}1{0} {10}+{0} {4}1{10}}{22}
{20}D{0}
{2}#23:back tick quoted heredoc{0}
{10}<<{20}`D`{23}
23:here doc {10}#{{4}1{0} {10}+{0} {4}1{10}}{23}
{20}D{0}
{2}#24:q quoted string{0}
{24}%q!24:quotes's!{0}
{2}#25:Q quoted string{0}
{25}%Q!25:quotes"s!{0}
{2}#26:executed string{0}
{26}%x(echo 26){0}
{2}#27:regex{0}
{27}%r(27[a-z]/[A-Z]+){0}
{2}#28:interpolable string array{0}
{28}%W(28 cgi.rb complex.rb date.rb {10}#{{4}1{10}}{28} ){0}
{2}#29:demoted keyword do{0}
{5}while{0} {4}1{0} {29}do{0} {5}end{0}
{2}# 30,31,40,45 never set{0}
{2}#41:non-interpolable string array{0}
{41}%w(#{1 + 1}){0}
{2}#42:non-interpolable symbol array{0}
{42}%i(#{1 + 1}){0}
{2}#43:interpolable symbol array{0}
{43}%I({10}#{{4}1{0} {10}+{0} {4}1{10}}{43}){0}
{2}#44:symbol{0}
{44}%s(#{1 + 1}){0}
{2}#19:data section{0}
{19}__END__

View File

@ -0,0 +1,3 @@
# Bad folding when single character ')' in SCE_RB_STRING_QW #132
%W(#{1 + 1})

View File

@ -0,0 +1,4 @@
0 400 0 # Bad folding when single character ')' in SCE_RB_STRING_QW #132
0 400 0 %W(#{1 + 1})
1 400 0
0 400 0

View File

@ -0,0 +1,3 @@
{2}# Bad folding when single character ')' in SCE_RB_STRING_QW #132{0}
{28}%W({10}#{{4}1{0} {10}+{0} {4}1{10}}{28}){0}

View File

@ -0,0 +1,9 @@
a = <<XXX # :nodoc:
heredoc
XXX
puts(<<-ONE, <<-TWO)
content for heredoc one
ONE
content for heredoc two
TWO

View File

@ -0,0 +1,10 @@
2 400 0 + a = <<XXX # :nodoc:
0 401 0 | heredoc
0 401 0 | XXX
1 400 0
2 400 0 + puts(<<-ONE, <<-TWO)
0 401 0 | content for heredoc one
0 401 0 | ONE
0 401 0 | content for heredoc two
0 401 0 | TWO
0 400 0

View File

@ -0,0 +1,9 @@
{11}a{0} {10}={0} {10}<<{20}XXX{0} {2}# :nodoc:{22}
heredoc
{20}XXX{0}
{11}puts{10}(<<{20}-ONE{10},{0} {10}<<{20}-TWO{10}){22}
content for heredoc one
ONE
content for heredoc two
{20}TWO{0}

View File

@ -0,0 +1,23 @@
a = {r: /\w+/, h: <<EOF
heredoc
EOF
}
puts a
def b # :nodoc:
<<EOF
heredoc
EOF
end
def c # :nodoc:
/\w+/
end
puts b
puts c
$stdout . puts <<EOF
heredoc
EOF

View File

@ -0,0 +1,24 @@
2 400 0 + a = {r: /\w+/, h: <<EOF
0 402 0 | heredoc
0 402 0 | EOF
0 401 0 | }
1 400 0
0 400 0 puts a
1 400 0
2 400 0 + def b # :nodoc:
2 401 0 + <<EOF
0 402 0 | heredoc
0 402 0 | EOF
0 401 0 | end
1 400 0
2 400 0 + def c # :nodoc:
0 401 0 | /\w+/
0 401 0 | end
1 400 0
0 400 0 puts b
0 400 0 puts c
1 400 0
2 400 0 + $stdout . puts <<EOF
0 401 0 | heredoc
0 401 0 | EOF
0 400 0

View File

@ -0,0 +1,23 @@
{11}a{0} {10}={0} {10}{{14}r:{0} {12}/\w+/{10},{0} {14}h:{0} {10}<<{20}EOF{22}
heredoc
{20}EOF{0}
{10}}{0}
{11}puts{0} {11}a{0}
{5}def{0} {9}b{0} {2}# :nodoc:{0}
{10}<<{20}EOF{22}
heredoc
{20}EOF{0}
{5}end{0}
{5}def{0} {9}c{0} {2}# :nodoc:{0}
{12}/\w+/{0}
{5}end{0}
{11}puts{0} {11}b{0}
{11}puts{0} {11}c{0}
{13}$stdout{0} {10}.{0} {11}puts{0} {10}<<{20}EOF{22}
heredoc
{20}EOF{0}

View File

@ -0,0 +1,11 @@
"#{1}"#
"#@a"#
"#@@a"#
"#$a"#
"#$?"#
"#$-a1"#
"#$_a1"#
"#$123"#
"#$\"#
"#$""#
a = /#$//#

View File

@ -0,0 +1,12 @@
0 400 0 "#{1}"#
0 400 0 "#@a"#
0 400 0 "#@@a"#
0 400 0 "#$a"#
0 400 0 "#$?"#
0 400 0 "#$-a1"#
0 400 0 "#$_a1"#
0 400 0 "#$123"#
0 400 0 "#$\"#
0 400 0 "#$""#
0 400 0 a = /#$//#
0 400 0

View File

@ -0,0 +1,11 @@
{6}"{10}#{{4}1{10}}{6}"{2}#{0}
{6}"{10}#{16}@a{6}"{2}#{0}
{6}"{10}#{17}@@a{6}"{2}#{0}
{6}"{10}#{13}$a{6}"{2}#{0}
{6}"{10}#{13}$?{6}"{2}#{0}
{6}"{10}#{13}$-a{6}1"{2}#{0}
{6}"{10}#{13}$_a1{6}"{2}#{0}
{6}"{10}#{13}$123{6}"{2}#{0}
{6}"{10}#{13}$\{6}"{2}#{0}
{6}"{10}#{13}$"{6}"{2}#{0}
{11}a{0} {10}={0} {12}/{10}#{13}$/{12}/{2}#{0}

View File

@ -0,0 +1,71 @@
def dbg_args(a, b=1, c:, d: 6, &block) = puts("Args passed: #{[a, b, c, d, block.call]}")
dbg_args(0, c: 5) { 7 }
class A
def attr = @attr
def attr=(value)
@attr = value
end
def attr? = !!@attr
def attr! = @attr = true
# unary operator
def -@ = 1
def +@ = 1
def ! = 1
def !@ = 1
# binary operator
def +(value) = 1 + value
def -(value) = 1 - value
def *(value) = 1 * value
def **(value) = 1 ** value
def /(value) = 1 / value
def %(value) = 1 % value
def &(value) = 1 & value
def ^(value) = 1 ^ value
def >>(value) = 1 >> value
def <<(value) = 1 << value
def ==(other) = true
def !=(other) = true
def ===(other) = true
def =~(other) = true
def <=>(other) = true
def <(other) = true
def <=(other) = true
def >(other) = true
def >=(other) = true
# element reference and assignment
def [](a, b) = puts(a + b)
def []=(a, b, c)
puts a + b + c
end
# array decomposition
def dec(((a, b), c)) = puts(a + b + c)
# class method
def self.say(*s) = puts(s)
# test short method name
def a = 1
def ab = 1
end
# class method
def String.hello
"Hello, world!"
end
# singleton method
greeting = "Hello"
def greeting.broaden
self + ", world!"
end
# one line definition
def a(b, c) b; c end
# parentheses omitted
def ab c
puts c
end
# Test folding of multi-line SCE_RB_STRING_QW
puts %W(
a
b
c
)

View File

@ -0,0 +1,72 @@
0 400 0 def dbg_args(a, b=1, c:, d: 6, &block) = puts("Args passed: #{[a, b, c, d, block.call]}")
0 400 0 dbg_args(0, c: 5) { 7 }
1 400 0
2 400 0 + class A
0 401 0 | def attr = @attr
2 401 0 + def attr=(value)
0 402 0 | @attr = value
0 402 0 | end
0 401 0 | def attr? = !!@attr
0 401 0 | def attr! = @attr = true
0 401 0 | # unary operator
0 401 0 | def -@ = 1
0 401 0 | def +@ = 1
0 401 0 | def ! = 1
0 401 0 | def !@ = 1
0 401 0 | # binary operator
0 401 0 | def +(value) = 1 + value
0 401 0 | def -(value) = 1 - value
0 401 0 | def *(value) = 1 * value
0 401 0 | def **(value) = 1 ** value
0 401 0 | def /(value) = 1 / value
0 401 0 | def %(value) = 1 % value
0 401 0 | def &(value) = 1 & value
0 401 0 | def ^(value) = 1 ^ value
0 401 0 | def >>(value) = 1 >> value
0 401 0 | def <<(value) = 1 << value
0 401 0 | def ==(other) = true
0 401 0 | def !=(other) = true
0 401 0 | def ===(other) = true
0 401 0 | def =~(other) = true
0 401 0 | def <=>(other) = true
0 401 0 | def <(other) = true
0 401 0 | def <=(other) = true
0 401 0 | def >(other) = true
0 401 0 | def >=(other) = true
0 401 0 | # element reference and assignment
0 401 0 | def [](a, b) = puts(a + b)
2 401 0 + def []=(a, b, c)
0 402 0 | puts a + b + c
0 402 0 | end
0 401 0 | # array decomposition
0 401 0 | def dec(((a, b), c)) = puts(a + b + c)
0 401 0 | # class method
0 401 0 | def self.say(*s) = puts(s)
0 401 0 | # test short method name
0 401 0 | def a = 1
0 401 0 | def ab = 1
0 401 0 | end
1 400 0
0 400 0 # class method
2 400 0 + def String.hello
0 401 0 | "Hello, world!"
0 401 0 | end
0 400 0 # singleton method
0 400 0 greeting = "Hello"
2 400 0 + def greeting.broaden
0 401 0 | self + ", world!"
0 401 0 | end
0 400 0 # one line definition
0 400 0 def a(b, c) b; c end
0 400 0 # parentheses omitted
2 400 0 + def ab c
0 401 0 | puts c
0 401 0 | end
1 400 0
0 400 0 # Test folding of multi-line SCE_RB_STRING_QW
2 400 0 + puts %W(
0 401 0 | a
0 401 0 | b
0 401 0 | c
0 401 0 | )
0 400 0

View File

@ -0,0 +1,71 @@
{5}def{0} {9}dbg_args{10}({11}a{10},{0} {11}b{10}={4}1{10},{0} {11}c{14}:{10},{0} {14}d:{0} {4}6{10},{0} {10}&{11}block{10}){0} {10}={0} {11}puts{10}({6}"Args passed: {10}#{[{11}a{10},{0} {11}b{10},{0} {11}c{10},{0} {11}d{10},{0} {11}block{10}.{11}call{10}]}{6}"{10}){0}
{11}dbg_args{10}({4}0{10},{0} {14}c:{0} {4}5{10}){0} {10}{{0} {4}7{0} {10}}{0}
{5}class{0} {8}A{0}
{5}def{0} {9}attr{0} {10}={0} {16}@attr{0}
{5}def{0} {9}attr={10}({11}value{10}){0}
{16}@attr{0} {10}={0} {11}value{0}
{5}end{0}
{5}def{0} {9}attr?{0} {10}={0} {10}!!{16}@attr{0}
{5}def{0} {9}attr!{0} {10}={0} {16}@attr{0} {10}={0} {5}true{0}
{2}# unary operator{0}
{5}def{0} {10}-@{0} {10}={0} {4}1{0}
{5}def{0} {10}+@{0} {10}={0} {4}1{0}
{5}def{0} {10}!{0} {10}={0} {4}1{0}
{5}def{0} {10}!@{0} {10}={0} {4}1{0}
{2}# binary operator{0}
{5}def{0} {10}+({11}value{10}){0} {10}={0} {4}1{0} {10}+{0} {11}value{0}
{5}def{0} {10}-({11}value{10}){0} {10}={0} {4}1{0} {10}-{0} {11}value{0}
{5}def{0} {10}*({11}value{10}){0} {10}={0} {4}1{0} {10}*{0} {11}value{0}
{5}def{0} {10}**({11}value{10}){0} {10}={0} {4}1{0} {10}**{0} {11}value{0}
{5}def{0} {10}/({11}value{10}){0} {10}={0} {4}1{0} {10}/{0} {11}value{0}
{5}def{0} {10}%({11}value{10}){0} {10}={0} {4}1{0} {10}%{0} {11}value{0}
{5}def{0} {10}&({11}value{10}){0} {10}={0} {4}1{0} {10}&{0} {11}value{0}
{5}def{0} {10}^({11}value{10}){0} {10}={0} {4}1{0} {10}^{0} {11}value{0}
{5}def{0} {10}>>({11}value{10}){0} {10}={0} {4}1{0} {10}>>{0} {11}value{0}
{5}def{0} {10}<<({11}value{10}){0} {10}={0} {4}1{0} {10}<<{0} {11}value{0}
{5}def{0} {10}==({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}!=({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}===({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}=~({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}<=>({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}<({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}<=({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}>({11}other{10}){0} {10}={0} {5}true{0}
{5}def{0} {10}>=({11}other{10}){0} {10}={0} {5}true{0}
{2}# element reference and assignment{0}
{5}def{0} {10}[]({11}a{10},{0} {11}b{10}){0} {10}={0} {11}puts{10}({11}a{0} {10}+{0} {11}b{10}){0}
{5}def{0} {10}[]=({11}a{10},{0} {11}b{10},{0} {11}c{10}){0}
{11}puts{0} {11}a{0} {10}+{0} {11}b{0} {10}+{0} {11}c{0}
{5}end{0}
{2}# array decomposition{0}
{5}def{0} {9}dec{10}((({11}a{10},{0} {11}b{10}),{0} {11}c{10})){0} {10}={0} {11}puts{10}({11}a{0} {10}+{0} {11}b{0} {10}+{0} {11}c{10}){0}
{2}# class method{0}
{5}def{0} {29}self{10}.{9}say{10}(*{11}s{10}){0} {10}={0} {11}puts{10}({11}s{10}){0}
{2}# test short method name{0}
{5}def{0} {9}a{0} {10}={0} {4}1{0}
{5}def{0} {9}ab{0} {10}={0} {4}1{0}
{5}end{0}
{2}# class method{0}
{5}def{0} {11}String{10}.{9}hello{0}
{6}"Hello, world!"{0}
{5}end{0}
{2}# singleton method{0}
{11}greeting{0} {10}={0} {6}"Hello"{0}
{5}def{0} {11}greeting{10}.{9}broaden{0}
{5}self{0} {10}+{0} {6}", world!"{0}
{5}end{0}
{2}# one line definition{0}
{5}def{0} {9}a{10}({11}b{10},{0} {11}c{10}){0} {11}b{10};{0} {11}c{0} {5}end{0}
{2}# parentheses omitted{0}
{5}def{0} {9}ab{0} {11}c{0}
{11}puts{0} {11}c{0}
{5}end{0}
{2}# Test folding of multi-line SCE_RB_STRING_QW{0}
{11}puts{0} {28}%W(
a
b
c
){0}

View File

@ -0,0 +1,8 @@
# Test that final \n in indented heredoc (2nd example) is styled as SCE_RB_HERE_Q not SCE_RB_HERE_DELIM
<<T
X
T
<<-T
X
T

View File

@ -0,0 +1,9 @@
0 400 0 # Test that final \n in indented heredoc (2nd example) is styled as SCE_RB_HERE_Q not SCE_RB_HERE_DELIM
2 400 0 + <<T
0 401 0 | X
0 401 0 | T
1 400 0
2 400 0 + <<-T
0 401 0 | X
0 401 0 | T
0 400 0

View File

@ -0,0 +1,8 @@
{2}# Test that final \n in indented heredoc (2nd example) is styled as SCE_RB_HERE_Q not SCE_RB_HERE_DELIM{0}
{10}<<{20}T{22}
X
{20}T{0}
{10}<<{20}-T{22}
X
{20}T{0}

View File

@ -0,0 +1,32 @@
# heredoc method call, other argument
puts <<~EOT.chomp
squiggly heredoc
EOT
puts <<ONE, __FILE__, __LINE__
content for heredoc one
ONE
# heredoc prevStyle == SCE_RB_GLOBAL
$stdout.puts <<~EOT.chomp
squiggly heredoc
EOT
# Issue #236: modifier if, unless, while and until
alias error puts
error <<EOF if true
heredoc if true
EOF
error <<EOF unless false
heredoc unless false
EOF
error <<EOF while false
heredoc while false
EOF
error <<EOF until true
heredoc until true
EOF

View File

@ -0,0 +1,33 @@
0 400 0 # heredoc method call, other argument
2 400 0 + puts <<~EOT.chomp
0 401 0 | squiggly heredoc
0 401 0 | EOT
1 400 0
2 400 0 + puts <<ONE, __FILE__, __LINE__
0 401 0 | content for heredoc one
0 401 0 | ONE
1 400 0
0 400 0 # heredoc prevStyle == SCE_RB_GLOBAL
2 400 0 + $stdout.puts <<~EOT.chomp
0 401 0 | squiggly heredoc
0 401 0 | EOT
1 400 0
0 400 0 # Issue #236: modifier if, unless, while and until
0 400 0 alias error puts
1 400 0
2 400 0 + error <<EOF if true
0 401 0 | heredoc if true
0 401 0 | EOF
1 400 0
2 400 0 + error <<EOF unless false
0 401 0 | heredoc unless false
0 401 0 | EOF
1 400 0
2 400 0 + error <<EOF while false
0 401 0 | heredoc while false
0 401 0 | EOF
1 400 0
2 400 0 + error <<EOF until true
0 401 0 | heredoc until true
0 401 0 | EOF
0 400 0

View File

@ -0,0 +1,32 @@
{2}# heredoc method call, other argument{0}
{11}puts{0} {10}<<{20}~EOT{10}.{11}chomp{22}
squiggly heredoc
{20}EOT{0}
{11}puts{0} {10}<<{20}ONE{10},{0} {5}__FILE__{10},{0} {5}__LINE__{22}
content for heredoc one
{20}ONE{0}
{2}# heredoc prevStyle == SCE_RB_GLOBAL{0}
{13}$stdout{10}.{11}puts{0} {10}<<{20}~EOT{10}.{11}chomp{22}
squiggly heredoc
{20}EOT{0}
{2}# Issue #236: modifier if, unless, while and until{0}
{11}alias{0} {11}error{0} {11}puts{0}
{11}error{0} {10}<<{20}EOF{0} {29}if{0} {5}true{22}
heredoc if true
{20}EOF{0}
{11}error{0} {10}<<{20}EOF{0} {29}unless{0} {5}false{22}
heredoc unless false
{20}EOF{0}
{11}error{0} {10}<<{20}EOF{0} {29}while{0} {5}false{22}
heredoc while false
{20}EOF{0}
{11}error{0} {10}<<{20}EOF{0} {29}until{0} {5}true{22}
heredoc until true
{20}EOF{0}

View File

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# single character strings
puts ?a
puts ?\n
puts ?\s
puts ?\\#
puts ?\u{41}
puts ?\C-a
puts ?\M-a
puts ?\M-\C-a
puts ?\C-\M-a
puts ?あ
puts ?"
puts ?/
puts ?[[1, 2]
puts ?/\
# symbol and ternary operator
ab = /\d+/
cd = /\w+/
puts :ab, :cd, :/, :[]
puts :/\
# TODO: space after '?' and ':' is not needed
puts true ?ab : cd
puts true ? /\d+/ : /\w+/
puts false ?ab : cd
puts false ? /\d+/ : /\w+/

View File

@ -0,0 +1,30 @@
0 400 0 # -*- coding: utf-8 -*-
1 400 0
0 400 0 # single character strings
0 400 0 puts ?a
0 400 0 puts ?\n
0 400 0 puts ?\s
0 400 0 puts ?\\#
0 400 0 puts ?\u{41}
0 400 0 puts ?\C-a
0 400 0 puts ?\M-a
0 400 0 puts ?\M-\C-a
0 400 0 puts ?\C-\M-a
0 400 0 puts ?あ
0 400 0 puts ?"
0 400 0 puts ?/
0 400 0 puts ?[[1, 2]
0 400 0 puts ?/\
1 400 0
0 400 0 # symbol and ternary operator
0 400 0 ab = /\d+/
0 400 0 cd = /\w+/
0 400 0 puts :ab, :cd, :/, :[]
0 400 0 puts :/\
1 400 0
0 400 0 # TODO: space after '?' and ':' is not needed
0 400 0 puts true ?ab : cd
0 400 0 puts true ? /\d+/ : /\w+/
0 400 0 puts false ?ab : cd
0 400 0 puts false ? /\d+/ : /\w+/
0 400 0

View File

@ -0,0 +1,29 @@
{2}# -*- coding: utf-8 -*-{0}
{2}# single character strings{0}
{11}puts{0} {4}?a{0}
{11}puts{0} {4}?\n{0}
{11}puts{0} {4}?\s{0}
{11}puts{0} {4}?\\{2}#{0}
{11}puts{0} {4}?\u{10}{{4}41{10}}{0}
{11}puts{0} {4}?\C-a{0}
{11}puts{0} {4}?\M-a{0}
{11}puts{0} {4}?\M-\C-a{0}
{11}puts{0} {4}?\C-\M-a{0}
{11}puts{0} {4}?あ{0}
{11}puts{0} {4}?"{0}
{11}puts{0} {4}?/{0}
{11}puts{0} {4}?[{10}[{4}1{10},{0} {4}2{10}]{0}
{11}puts{0} {4}?/{0}\
{2}# symbol and ternary operator{0}
{11}ab{0} {10}={0} {12}/\d+/{0}
{11}cd{0} {10}={0} {12}/\w+/{0}
{11}puts{0} {14}:ab{10},{0} {14}:cd{10},{0} {14}:/{10},{0} {14}:[]{0}
{11}puts{0} {14}:/{0}\
{2}# TODO: space after '?' and ':' is not needed{0}
{11}puts{0} {5}true{0} {10}?{11}ab{0} {10}:{0} {11}cd{0}
{11}puts{0} {5}true{0} {10}?{0} {12}/\d+/{0} {10}:{0} {12}/\w+/{0}
{11}puts{0} {5}false{0} {10}?{11}ab{0} {10}:{0} {11}cd{0}
{11}puts{0} {5}false{0} {10}?{0} {12}/\d+/{0} {10}:{0} {12}/\w+/{0}

View File

@ -0,0 +1,8 @@
# Issue 124, disambiguating %= which may be a quote or modulo assignment
# %-quoting with '=' as the quote
s = %=3=
puts s
x = 7
# Modulo assignment, equivalent to x = x % 2
x %=2
puts x

View File

@ -0,0 +1,9 @@
0 400 0 # Issue 124, disambiguating %= which may be a quote or modulo assignment
0 400 0 # %-quoting with '=' as the quote
0 400 0 s = %=3=
0 400 0 puts s
0 400 0 x = 7
0 400 0 # Modulo assignment, equivalent to x = x % 2
0 400 0 x %=2
0 400 0 puts x
0 400 0

View File

@ -0,0 +1,8 @@
{2}# Issue 124, disambiguating %= which may be a quote or modulo assignment{0}
{2}# %-quoting with '=' as the quote{0}
{11}s{0} {10}={0} {25}%=3={0}
{11}puts{0} {11}s{0}
{11}x{0} {10}={0} {4}7{0}
{2}# Modulo assignment, equivalent to x = x % 2{0}
{11}x{0} {10}%={4}2{0}
{11}puts{0} {11}x{0}

View File

@ -0,0 +1,4 @@
lexer.*.rb=ruby
keywords.*.rb=begin class def do end false if module return self super true unless until while \
__FILE__ __LINE__
fold=1

View File

@ -0,0 +1,6 @@
class Demo
def test # A test
i = 1
puts "Example"
end
end

View File

@ -0,0 +1,6 @@
2 400 0 + class Demo
2 401 0 + def test # A test
0 402 0 | i = 1
0 402 0 | puts "Example"
0 402 0 | end
0 401 0 | end

View File

@ -0,0 +1,6 @@
{5}class{0} {8}Demo{0}
{5}def{0} {9}test{0} {2}# A test{0}
{11}i{0} {10}={0} {4}1{0}
{11}puts{0} {6}"Example"{0}
{5}end{0}
{5}end