* lisp/progmodes/ruby-mode.el (ruby-smie-grammar):
Rearrange the smie-precs->prec2 form.
'((right "=")
(right "+=" "-=" "*=" "/=" "%=" "**=" "&=" "|=" "^="
"<<=" ">>=" "&&=" "||=")
- (left ".." "...")
- (left "+" "-")
- (left "*" "/" "%" "**")
+ (nonassoc ".." "...")
(left "&&" "||")
- (left "^" "&" "|")
(nonassoc "<=>")
- (nonassoc ">" ">=" "<" "<=")
(nonassoc "==" "===" "!=")
(nonassoc "=~" "!~")
+ (nonassoc ">" ">=" "<" "<=")
+ (left "^" "&" "|")
(left "<<" ">>")
+ (left "+" "-")
+ (left "*" "/" "%")
+ (left "**")
(assoc "."))))))
(defun ruby-smie--bosp ()
tee < qux
zux do
- foo == bar and
+ foo == bar &&
tee == qux
+
+ a = 3 and
+ b = 4
end
+foo + bar ==
+ tee + qux
+
+1 .. 2 &&
+ 3
+
+3 < 4 +
+ 5
+
+10 << 4 ^
+ 20
+
+100 + 2 >>
+ 3
+
+2 ** 10 /
+ 2
+
foo ^
bar