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

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

[nongnu] elpa/nix-mode 5e61391ca1 047/500: Merge branch 'lets'


From: ELPA Syncer
Subject: [nongnu] elpa/nix-mode 5e61391ca1 047/500: Merge branch 'lets'
Date: Sat, 29 Jan 2022 08:26:35 -0500 (EST)

branch: elpa/nix-mode
commit 5e61391ca124d79f4fa51ff105527ac7deddfdb7
Merge: 76ad5882f0 76df9f3e6b
Author: Matthew Bauer <mjbauer95@gmail.com>
Commit: Matthew Bauer <mjbauer95@gmail.com>

    Merge branch 'lets'
---
 nix-mode.el | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/nix-mode.el b/nix-mode.el
index 7c02a1a20c..37bc17e999 100644
--- a/nix-mode.el
+++ b/nix-mode.el
@@ -168,6 +168,23 @@ If a close brace `}' ends an antiquote, the next character 
begins a string."
 
   n)
 
+(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
@@ -215,6 +232,7 @@ If a close brace `}' ends an antiquote, the next character 
begins a string."
   "Get current indent level."
   (* tab-width (+
                (nix-indent-level-parens)
+               (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]