lib/rib/extra/autoindent.rb in rib-1.5.4 vs lib/rib/extra/autoindent.rb in rib-1.6.0
- old
+ new
@@ -22,24 +22,28 @@
# rescue E=>e
# rescue E
# rescue E => e
# rescue E=> e
# rescue E =>e
- /^begin$/ => /^(end)\b|^else$|^rescue *((\w+)? *(=> *\w+)?)?$/,
+ # ensure
+ /^begin$/ =>
+ /^(end)\b|^else$|^rescue *((\w+)? *(=> *\w+)?)?$|^ensure$/,
+ /^def\b/ =>
+ /^(end)\b|^else$|^rescue *((\w+)? *(=> *\w+)?)?$|^ensure$/,
# elsif Expression
# consider cases:
# elsif(true)
# elsif true
# elsif true == true
# elsif (a = true) && false
/^if\b/ => /^(end)\b|^else$|^elsif\b/,
/^unless\b/ => /^(end)\b|^else$|^elsif\b/,
/^case\b/ => /^(end)\b|^else$|when\b/ ,
- /^def\b/ => /^(end)\b/ ,
/^class\b/ => /^(end)\b/ ,
/^module\b/ => /^(end)\b/ ,
/^while\b/ => /^(end)\b/ ,
+ /^for\b/ => /^(end)\b/ ,
/^until\b/ => /^(end)\b/ ,
# consider cases:
# 'do
# ' do
# "' do
@@ -50,9 +54,11 @@
# hey, two lines are even harder!
# "
# begin
/do( *\|.*\|)?$/ => /^(end)\b/ ,
/\{( *\|.*\|)?$/ => /^(\})\B/ ,
+ /\($/ => /^(\))\B/ ,
+ /\[$/ => /^(\])\B/ ,
# those are too hard to deal with, so we use syntax error to double check
# what about this then?
# v = if true
# else
# end