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

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

[elpa] externals/sm-c-mode 5e67afc 07/12: * sm-c-mode/sm-c-mode.el (sm-c


From: Stefan Monnier
Subject: [elpa] externals/sm-c-mode 5e67afc 07/12: * sm-c-mode/sm-c-mode.el (sm-c-smie-rules): Improve indent of enum's {...}
Date: Sat, 28 Nov 2020 18:11:08 -0500 (EST)

branch: externals/sm-c-mode
commit 5e67afcc42e31976e8f162b089d98d7421c2ea6e
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * sm-c-mode/sm-c-mode.el (sm-c-smie-rules): Improve indent of enum's {...}
---
 sm-c-mode.el | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/sm-c-mode.el b/sm-c-mode.el
index a643829..54b9a54 100644
--- a/sm-c-mode.el
+++ b/sm-c-mode.el
@@ -640,6 +640,16 @@ if INNER is non-nil, it stops at the innermost one."
                                   0
                                 (funcall smie-rules-function :elem 'basic))
                               (smie-indent-virtual))))
+              ((and (member tok '("enum" "struct"))
+                    ;; Make sure that the {...} is about this struct/enum, as
+                    ;; opposed to "struct foo *get_foo () {...}"!
+                    (save-excursion
+                      (smie-indent-forward-token)
+                      (smie-indent-forward-token)
+                      (forward-comment (point-max))
+                      (>= (point) pos)))
+               `(column . ,(+ (funcall smie-rules-function :elem 'basic)
+                              (smie-indent-virtual))))
               ((or (member tok sm-c-paren-block-keywords)
                    (equal tok "do"))
                nil)



reply via email to

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