From: Dmitry Gutov Date: Tue, 17 Jan 2023 22:55:09 +0000 (+0200) Subject: ruby-ts-mode: Fix/change indentation of a continuation method call X-Git-Tag: emacs-29.0.90~690 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ac5516bd7d568bbcea4fe46273d4f44c891a71ae;p=emacs.git 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. --- 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: