emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/nix-mode 76df9f3e6b 044/500: Add let indent level counter.


From: ELPA Syncer
Subject: [nongnu] elpa/nix-mode 76df9f3e6b 044/500: Add let indent level counter.
Date: Sat, 29 Jan 2022 08:26:34 -0500 (EST)

branch: elpa/nix-mode
commit 76df9f3e6b4e78567282ce365f357532a4791976
Author: Matthew Bauer <mjbauer95@gmail.com>
Commit: Matthew Bauer <mjbauer95@gmail.com>

    Add let indent level counter.
---
 nix-mode.el | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/nix-mode.el b/nix-mode.el
index a2e791c2a9..c9eb827a5f 100644
--- a/nix-mode.el
+++ b/nix-mode.el
@@ -163,6 +163,23 @@ P1 current position"
                  (+ (if (eq l1 l2) 0 1) (nix-indent-level-parens p2))))
         0))))
 
+(defun nix-indent-level-let ()
+  (save-excursion
+    (setq lets 0)
+    (setq ins 0)
+    (beginning-of-line)
+    (while (not (eq (point) (point-min)))
+      (forward-line -1)
+      (cond
+       ((and
+        (looking-at "[:space:]*let")
+        (not (looking-at ".*in")))
+       (setq lets (1+ lets)))
+       ((looking-at "[:space:]*in")
+       (setq ins (1+ ins)))))
+
+    (- lets ins)))
+
 (defun nix-indent-level-is-closing ()
   "Go forward from beginning of line."
   (save-excursion
@@ -209,6 +226,7 @@ P1 current position"
   "Get current indent level."
   (* tab-width (+
                (nix-indent-level-parens (point))
+               (nix-indent-level-let)
                (if (nix-indent-level-is-closing) -1
                  (if (nix-indent-level-is-hanging) 1 0)))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]