mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-30 08:09:04 +00:00
ruby-ts-mode: Fix the rules for hanging arrays and hashes
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): Fix the rules for hanging arrays and hashes (to line up to parent-bol instead of the opening brace). * test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: New file with examples. * test/lisp/progmodes/ruby-ts-mode-tests.el: Use it here.
This commit is contained in:
parent
c4f0b6ccea
commit
9ed9ff4690
@ -749,20 +749,10 @@ i.e. expr of def foo(args) = expr is returned."
|
||||
(not ruby-ts--same-line-hash-array-p))
|
||||
grand-parent ruby-indent-level)
|
||||
|
||||
((n-p-gp "}" "hash" "assignment") (ruby-ts--bol ruby-ts--grand-parent-node) 0)
|
||||
((n-p-gp nil "hash" "assignment") (ruby-ts--bol ruby-ts--grand-parent-node) ruby-indent-level)
|
||||
((n-p-gp "]" "array" "assignment") (ruby-ts--bol ruby-ts--grand-parent-node) 0)
|
||||
((n-p-gp nil "array" "assignment") (ruby-ts--bol ruby-ts--grand-parent-node) ruby-indent-level)
|
||||
|
||||
((n-p-gp "}" "hash" "argument_list") first-sibling 0)
|
||||
((n-p-gp nil "hash" "argument_list") first-sibling ruby-indent-level)
|
||||
((n-p-gp "]" "array" "argument_list") first-sibling 0)
|
||||
((n-p-gp nil "array" "argument_list") first-sibling ruby-indent-level)
|
||||
|
||||
((match "}" "hash") first-sibling 0)
|
||||
((parent-is "hash") first-sibling ruby-indent-level)
|
||||
((match "]" "array") first-sibling 0)
|
||||
((parent-is "array") first-sibling ruby-indent-level)
|
||||
((match "}" "hash") parent-bol 0)
|
||||
((parent-is "hash") parent-bol ruby-indent-level)
|
||||
((match "]" "array") parent-bol 0)
|
||||
((parent-is "array") parent-bol ruby-indent-level)
|
||||
|
||||
;; If the previous method isn't finished yet, this will get
|
||||
;; the next method indented properly.
|
||||
|
23
test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb
Normal file
23
test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb
Normal file
@ -0,0 +1,23 @@
|
||||
variable = foo(
|
||||
[
|
||||
qwe
|
||||
], [
|
||||
rty
|
||||
], {
|
||||
a: 3
|
||||
}
|
||||
)
|
||||
|
||||
tee = [
|
||||
qwe
|
||||
]
|
||||
|
||||
qux = [1,
|
||||
2]
|
||||
|
||||
att = {a: 1,
|
||||
b: 2}
|
||||
|
||||
# Local Variables:
|
||||
# mode: ruby-ts
|
||||
# End:
|
@ -250,6 +250,7 @@ The whitespace before and including \"|\" on each line is removed."
|
||||
(should (equal (buffer-string) orig))))
|
||||
(kill-buffer buf)))))
|
||||
|
||||
(ruby-ts-deftest-indent "ruby-ts.rb")
|
||||
(ruby-ts-deftest-indent "ruby-method-params-indent.rb")
|
||||
(ruby-ts-deftest-indent "ruby-block-indent.rb")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user