[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/nix-mode 570d60d460 045/500: Rewrite nix-indent-level-pare
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/nix-mode 570d60d460 045/500: Rewrite nix-indent-level-parens with while loop. |
Date: |
Sat, 29 Jan 2022 08:26:34 -0500 (EST) |
branch: elpa/nix-mode
commit 570d60d460d4ace4556606e2161467a5da6a35d3
Author: Matthew Bauer <mjbauer95@gmail.com>
Commit: Matthew Bauer <mjbauer95@gmail.com>
Rewrite nix-indent-level-parens with while loop.
Should be easier to work with.
---
nix-mode.el | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/nix-mode.el b/nix-mode.el
index a2e791c2a9..a8917e975a 100644
--- a/nix-mode.el
+++ b/nix-mode.el
@@ -149,19 +149,22 @@ If a close brace `}' ends an antiquote, the next
character begins a string."
(0 (ignore (nix-syntax-propertize-close-brace)))))
start end))
-(defun nix-indent-level-parens (p1)
- "Find indent level based on parens.
-P1 current position"
+(defun nix-indent-level-parens ()
+ "Find indent level based on parens."
+ (setq n 0)
(save-excursion
- (beginning-of-line)
- (let ((p2 (nth 1 (syntax-ppss))))
- (if p2 (progn
- (goto-char p2)
- (backward-char)
- (let ((l1 (line-number-at-pos p1))
- (l2 (line-number-at-pos p2)))
- (+ (if (eq l1 l2) 0 1) (nix-indent-level-parens p2))))
- 0))))
+ (setq p1 (point))
+ (setq p2 (nth 1 (syntax-ppss)))
+ (while p2
+ (goto-char p2)
+ (backward-char)
+ (let ((l1 (line-number-at-pos p1))
+ (l2 (line-number-at-pos p2)))
+ (if (not (eq l1 l2))
+ (setq n (+ n 1))))
+ (setq p1 p2)
+ (setq p2 (nth 1 (syntax-ppss)))))
+ n)
(defun nix-indent-level-is-closing ()
"Go forward from beginning of line."
@@ -182,8 +185,8 @@ P1 current position"
(unless (or
(looking-at "}")
(looking-at ")")
- (looking-at "{")
- (looking-at ")"))
+ (looking-at "{"))
+
(forward-line -1)
(end-of-line)
(skip-chars-backward "\n[:space:]")
@@ -208,7 +211,7 @@ P1 current position"
(defun nix-indent-level ()
"Get current indent level."
(* tab-width (+
- (nix-indent-level-parens (point))
+ (nix-indent-level-parens)
(if (nix-indent-level-is-closing) -1
(if (nix-indent-level-is-hanging) 1 0)))))
- [nongnu] elpa/nix-mode 14322f186f 189/500: Use locate-library instead of find-library, (continued)
- [nongnu] elpa/nix-mode 14322f186f 189/500: Use locate-library instead of find-library, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode a3eb135716 492/500: nix-flake: Fix miscomparison to avoid repeatedly adding to registry, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 2a24b400b6 485/500: chore: Bump install-nix-action to v14.1, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode ce7996c6e7 476/500: nix-flake: Cosmetics, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 3d4f24b2b6 472/500: nix-flake: Allow switching the flake inside nix-flake-dispatch, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 5fb9df6f69 497/500: chore(deps): bump cachix/install-nix-action from 14.1 to 16, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 687665a6b0 001/500: Initial commit, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode e6b9f1b939 016/500: Add menu bar., ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode ae68b456f8 022/500: Refactor font lock, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 7b47e2b4bc 042/500: Fix formatting., ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 570d60d460 045/500: Rewrite nix-indent-level-parens with while loop.,
ELPA Syncer <=
- [nongnu] elpa/nix-mode 8a65262d37 200/500: Remove smartparens feature detection, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode cc23fd6a0e 206/500: Default to indent-relative, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 9f4f5d5860 204/500: Checkdoc of elisp, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode be7184ffcd 209/500: use tab-width instead of hardcoded '2', ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 5a8b334c75 212/500: Merge pull request #42 from serokell/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode b8aed79f89 211/500: No need to indent on = and ; (ruins your day), ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode 81680dd7ac 213/500: nix-repl.el: make it work with newer nix repl command, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode a8af6e9203 218/500: Find nix executables at start, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode d6286ce43b 235/500: Add pcomplete support to nix.el, ELPA Syncer, 2022/01/29
- [nongnu] elpa/nix-mode dd49386cc7 240/500: Remove global-nix-mode, ELPA Syncer, 2022/01/29