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