From ac5516bd7d568bbcea4fe46273d4f44c891a71ae Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Wed, 18 Jan 2023 00:55:09 +0200 Subject: [PATCH] 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. --- lisp/progmodes/ruby-ts-mode.el | 4 ++-- test/lisp/progmodes/ruby-mode-resources/ruby-ts.rb | 13 +++++++++++++ 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: -- 2.39.5