]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve call indentation for elixir-ts-mode
authorWilhelm H Kirschbaum <wkirschbaum@gmail.com>
Thu, 27 Apr 2023 10:13:25 +0000 (12:13 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 29 Apr 2023 09:16:56 +0000 (12:16 +0300)
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--indent-rules): Change match order.
(Bug#63110)

* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test case.

lisp/progmodes/elixir-ts-mode.el
test/lisp/progmodes/elixir-ts-mode-resources/indent.erts

index 47f53043af316b50957b68a8bb67be01269581d1..7175fe4bff8de0a2a447e4ab36a8565948551ca8 100644 (file)
        ((node-is "^stab_clause$") parent-bol ,offset)
        ((query ,elixir-ts--capture-operator-parent) grand-parent 0)
        ((node-is "^when$") parent 0)
-       ((node-is "^keywords$") parent-bol ,offset)
        ((parent-is "^body$")
         (lambda (node parent _)
           (save-excursion
         ,'elixir-ts--argument-indent-anchor
         ,'elixir-ts--argument-indent-offset)
        ;; Handle incomplete maps when parent is ERROR.
+       ((node-is "^keywords$") parent-bol ,offset)
        ((n-p-gp "^binary_operator$" "ERROR" nil) parent-bol 0)
        ;; When there is an ERROR, just indent to prev-line.
        ((parent-is "ERROR") prev-line ,offset)
index 4eb6e768b9686e8cdd2a6dbfd21662b49e3a605a..1f855d3c97731bf33b7cec1684dd6654a460a153 100644 (file)
@@ -193,7 +193,19 @@ tuple = {
 }
 =-=-=
 
-Name: Spec and method
+Name: Call with keywords
+
+=-=
+def foo() do
+  bar(:one,
+      :two,
+      one: 1,
+      two: 2
+  )
+end
+=-=-=
+
+Name: Call with @spec
 
 =-=
 @spec foobar(