ruby-ts-mode: Fix indent inside parenthesized_expr and else/end after unless
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): Fix indentation for parenthesized_expression and else/end after 'unless'. * test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: New examples.
This commit is contained in:
parent
9ed9ff4690
commit
5e2e68a0c2
2 changed files with 15 additions and 2 deletions
|
@ -587,11 +587,11 @@ i.e. expr of def foo(args) = expr is returned."
|
||||||
;;
|
;;
|
||||||
;; I'm using very restrictive patterns hoping to reduce rules
|
;; I'm using very restrictive patterns hoping to reduce rules
|
||||||
;; triggering unintentionally.
|
;; triggering unintentionally.
|
||||||
((match "else" "if")
|
((match "else" "if\\|unless")
|
||||||
(ruby-ts--align-keywords ruby-ts--parent-node) 0)
|
(ruby-ts--align-keywords ruby-ts--parent-node) 0)
|
||||||
((match "elsif" "if")
|
((match "elsif" "if")
|
||||||
(ruby-ts--align-keywords ruby-ts--parent-node) 0)
|
(ruby-ts--align-keywords ruby-ts--parent-node) 0)
|
||||||
((match "end" "if")
|
((match "end" "if\\|unless")
|
||||||
(ruby-ts--align-keywords ruby-ts--parent-node) 0)
|
(ruby-ts--align-keywords ruby-ts--parent-node) 0)
|
||||||
((n-p-gp nil "then\\|else\\|elsif" "if\\|unless")
|
((n-p-gp nil "then\\|else\\|elsif" "if\\|unless")
|
||||||
(ruby-ts--align-keywords ruby-ts--grand-parent-node) ruby-indent-level)
|
(ruby-ts--align-keywords ruby-ts--grand-parent-node) ruby-indent-level)
|
||||||
|
@ -754,6 +754,9 @@ i.e. expr of def foo(args) = expr is returned."
|
||||||
((match "]" "array") parent-bol 0)
|
((match "]" "array") parent-bol 0)
|
||||||
((parent-is "array") parent-bol ruby-indent-level)
|
((parent-is "array") parent-bol ruby-indent-level)
|
||||||
|
|
||||||
|
((match ")" "parenthesized_statements") parent-bol 0)
|
||||||
|
((parent-is "parenthesized_statements") parent-bol ruby-indent-level)
|
||||||
|
|
||||||
;; If the previous method isn't finished yet, this will get
|
;; If the previous method isn't finished yet, this will get
|
||||||
;; the next method indented properly.
|
;; the next method indented properly.
|
||||||
((n-p-gp ,ruby-ts--method-regex "body_statement" ,ruby-ts--class-or-module-regex)
|
((n-p-gp ,ruby-ts--method-regex "body_statement" ,ruby-ts--class-or-module-regex)
|
||||||
|
|
|
@ -18,6 +18,16 @@
|
||||||
att = {a: 1,
|
att = {a: 1,
|
||||||
b: 2}
|
b: 2}
|
||||||
|
|
||||||
|
a = 1 ? 2 :(
|
||||||
|
2 + 3
|
||||||
|
)
|
||||||
|
|
||||||
|
unless bismark
|
||||||
|
sink += 12
|
||||||
|
else
|
||||||
|
dog = 99
|
||||||
|
end
|
||||||
|
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: ruby-ts
|
# mode: ruby-ts
|
||||||
# End:
|
# End:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue