summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2023-01-18 00:55:09 +0200
committerDmitry Gutov <dgutov@yandex.ru>2023-01-18 03:27:37 +0200
commitac5516bd7d568bbcea4fe46273d4f44c891a71ae (patch)
tree92655fcee895b0fcd2adbe388c3e0387f71a54d0
parent5e2e68a0c2d7d4e06747ea9fc6112dae8d5e32b6 (diff)
downloademacs-ac5516bd7d568bbcea4fe46273d4f44c891a71ae.tar.gz
emacs-ac5516bd7d568bbcea4fe46273d4f44c891a71ae.tar.bz2
emacs-ac5516bd7d568bbcea4fe46273d4f44c891a71ae.zip
ruby-ts-mode: Fix/change indentation of a continuation method call
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): Fix/change indentation of a continuation method call. * test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb: New examples.
-rw-r--r--lisp/progmodes/ruby-ts-mode.el4
-rw-r--r--test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb13
2 files changed, 15 insertions, 2 deletions
diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el
index 853c869a319..cbf86544bed 100644
--- a/lisp/progmodes/ruby-ts-mode.el
+++ b/lisp/progmodes/ruby-ts-mode.el
@@ -697,9 +697,9 @@ i.e. expr of def foo(args) = expr is returned."
;; 2) With paren, 1st arg on next line
((and (query "(argument_list \"(\" _ @indent)")
(node-is ")"))
- (ruby-ts--bol ruby-ts--grand-parent-node) 0)
+ parent-bol 0)
((query "(argument_list \"(\" _ @indent)")
- (ruby-ts--bol ruby-ts--grand-parent-node) ruby-indent-level)
+ parent-bol ruby-indent-level)
;; 3) No paren, ruby-parenless-call-arguments-indent is t
((and ruby-ts--parenless-call-arguments-indent-p (parent-is "argument_list"))
first-sibling 0)
diff --git a/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb b/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb
index 7de94ceadec..1a07ababc46 100644
--- a/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb
+++ b/test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb
@@ -28,6 +28,19 @@ else
dog = 99
end
+foo1 =
+ subject.update(
+ 1
+ )
+
+foo2 =
+ subject.
+ update(
+ # Might make sense to indent this to 'subject' instead; but this
+ # style seems more popular.
+ 2
+ )
+
# Local Variables:
# mode: ruby-ts
# End: