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

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

[elpa] master ad2214a: * sm-c-mode/sm-c-mode.el (sm-c-smie-rules): Impro


From: Stefan Monnier
Subject: [elpa] master ad2214a: * sm-c-mode/sm-c-mode.el (sm-c-smie-rules): Improve indent of enum's {...}
Date: Mon, 25 Jan 2016 13:25:21 +0000

branch: master
commit ad2214a5ea10ea8d5e5075bc0a518d9c474321d6
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

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

diff --git a/packages/sm-c-mode/sm-c-mode.el b/packages/sm-c-mode/sm-c-mode.el
index a643829..54b9a54 100644
--- a/packages/sm-c-mode/sm-c-mode.el
+++ b/packages/sm-c-mode/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]