]> git.eshelyaron.com Git - emacs.git/commitdiff
ruby-ts-mode: Indentation fixes
authorDmitry Gutov <dgutov@yandex.ru>
Tue, 3 Jan 2023 00:26:00 +0000 (02:26 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Tue, 3 Jan 2023 00:26:00 +0000 (02:26 +0200)
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-keywords):
Fix for 'def' (which was misread as 'method' in the check).
(ruby-ts--indent-rules): Indent the curly block closer the same
way as the 'do ... end' closer.

lisp/progmodes/ruby-ts-mode.el

index 96596cb5dafe86ab8d9f089604f66bfc07034221..6fb6f71991c279e3b8bf30af4341b7959264a50f 100644 (file)
@@ -355,8 +355,11 @@ Otherwise return start of PRED."
   (lambda (node parent bol &rest rest)
     (let* ((pred-node (funcall pred node parent bol rest))
            (temp (treesit-node-start pred-node))
-           (keyword (treesit-node-type pred-node))
-           (bol (ruby-smie--indent-to-stmt-p keyword)))
+           (type (treesit-node-type pred-node))
+           (bol (ruby-smie--indent-to-stmt-p
+                 (if (equal type "method")
+                     "def"
+                   type))))
       (when temp
         (if bol
             (save-excursion
@@ -736,7 +739,7 @@ i.e. expr of def foo(args) = expr is returned."
            ((match "end" "do_block") parent-bol 0)
            ((n-p-gp "block_body" "block" nil) parent-bol ruby-indent-level)
            ((n-p-gp nil "block_body" "block") (ruby-ts--bol ruby-ts--grand-parent-node) ruby-indent-level)
-           ((match "}" "block") (ruby-ts--bol ruby-ts--grand-parent-node) 0)
+           ((match "}" "block") parent-bol 0)
 
            ;; Chained strings
            ((match "string" "chained_string") first-sibling 0)