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

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

[nongnu] elpa/kotlin-mode 487e46f110 1/2: quick fix for indentation


From: ELPA Syncer
Subject: [nongnu] elpa/kotlin-mode 487e46f110 1/2: quick fix for indentation
Date: Fri, 27 May 2022 12:58:28 -0400 (EDT)

branch: elpa/kotlin-mode
commit 487e46f110bec895db793878ed05797a140234cd
Author: Jacob Leeming <jacobtophatleeming@gmail.com>
Commit: Jacob Leeming <jacobtophatleeming@gmail.com>

    quick fix for indentation
---
 kotlin-mode.el | 58 +++++++++++++++++++++++++++++++---------------------------
 1 file changed, 31 insertions(+), 27 deletions(-)

diff --git a/kotlin-mode.el b/kotlin-mode.el
index df5b3a31f4..f494a26c27 100644
--- a/kotlin-mode.el
+++ b/kotlin-mode.el
@@ -577,36 +577,40 @@ fun foo() {
 (defun kotlin-mode--indent-line ()
   "Indent current line as kotlin code."
   (interactive)
-  (beginning-of-line)
-  (if (bobp)
-      (kotlin-mode--beginning-of-buffer-indent)
-    (let* ((bracket-counter (make-instance 'kotlin-mode--bracket-counter))
-           ;; Find bracket-based indentation first
-           (cur-indent
-            (progn
-              (kotlin-mode--count-leading-close-brackets bracket-counter)
-              (save-excursion
-                (kotlin-mode--prev-line)
-                (end-of-line)
-                (kotlin-mode--count-trailing-open-brackets bracket-counter)
-                (kotlin-mode--count-to-line-start bracket-counter)
-                (while (and (not (kotlin-mode--finished bracket-counter))
-                            (not (bobp)))
+  (save-excursion
+    (beginning-of-line)
+    (if (bobp)
+        (kotlin-mode--beginning-of-buffer-indent)
+      (let* ((bracket-counter (make-instance 'kotlin-mode--bracket-counter))
+             ;; Find bracket-based indentation first
+             (cur-indent
+              (progn
+                (kotlin-mode--count-leading-close-brackets bracket-counter)
+                (save-excursion
                   (kotlin-mode--prev-line)
                   (end-of-line)
-                  (kotlin-mode--count-to-line-start bracket-counter))
-                (oref bracket-counter indent)))))
-
-      (cond
-       ((kotlin-mode--line-continuation)
-        ;; Add extra indentation if the line continues the previous one
-        (cl-incf cur-indent kotlin-tab-width))
+                  (kotlin-mode--count-trailing-open-brackets bracket-counter)
+                  (kotlin-mode--count-to-line-start bracket-counter)
+                  (while (and (not (kotlin-mode--finished bracket-counter))
+                              (not (bobp)))
+                    (kotlin-mode--prev-line)
+                    (end-of-line)
+                    (kotlin-mode--count-to-line-start bracket-counter))
+                  (oref bracket-counter indent)))))
 
-       ((kotlin-mode--in-comment-block)
-        ;; Add one space of extra indentation if inside a comment block
-        (cl-incf cur-indent)))
-
-      (indent-line-to cur-indent))))
+        (cond
+         ((kotlin-mode--line-continuation)
+          ;; Add extra indentation if the line continues the previous one
+          (cl-incf cur-indent kotlin-tab-width))
+
+         ((kotlin-mode--in-comment-block)
+          ;; Add one space of extra indentation if inside a comment block
+          (cl-incf cur-indent)))
+
+        (indent-line-to cur-indent))))
+  ;; bol < point < indentation-start
+  (when (<= (point-at-bol) (point) (save-excursion (back-to-indentation) 
(point)))
+    (back-to-indentation)))
 
 (defun kotlin-mode--beginning-of-buffer-indent ()
   (indent-line-to 0))



reply via email to

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