branch: externals/a68-mode
commit a9276372a3334bd87d5291293bd13c355ef20e18
Author: Jose E. Marchesi <jose.march...@oracle.com>
Commit: Jose E. Marchesi <jose.march...@oracle.com>

    Complete indent rules for upper stropping regime
---
 a68-mode.el | 40 ++++++++++++++++++++++++++++------------
 1 file changed, 28 insertions(+), 12 deletions(-)

diff --git a/a68-mode.el b/a68-mode.el
index 6318db45eb..4b3227a076 100644
--- a/a68-mode.el
+++ b/a68-mode.el
@@ -840,6 +840,21 @@ with the equivalent upcased form."
     ;; SMIE by default aligns it with it.
     (`(:before . "|")
      (if (not smie-rule-sibling-p) 3))
+    (`(:after . "BEGIN") 6)
+    (`(:after . "THEN") 5)
+    (`(:after . "ELSE") 5)
+    (`(:after . "ELIF") 5)
+    (`(:after . "CASE") 5)
+    (`(:after . "OUSE") 5)
+    (`(:after . "OUT") 4)
+    (`(:after . "IN") 3)
+    (`(:after . "FOR") 4)
+    (`(:after . "DO") 3)
+    (`(:after . "FROM") 5)
+    (`(:after . "BY") 3)
+    (`(:after . "TO") 3)
+    (`(:after . "WHILE") 3)
+    (`(:after . "DEF") 4)
     (`(:before . "BEGIN")
      (when (or (smie-rule-hanging-p)
                (or
@@ -934,17 +949,18 @@ with the equivalent upcased form."
   ;; First determine the stropping regime
   (setq-local a68--stropping-regime
               (a68--figure-out-stropping-regime))
-  (if (equal a68--stropping-regime 'supper)
-      ;; SUPPER stropping.
-      (progn
-        (setq-local comment-start a68-comment-style-supper)
-        (setq-local comment-end a68-comment-style-supper)
-        (setq-local font-lock-defaults '(a68-font-lock-keywords-supper))
-        (smie-setup a68--smie-grammar-supper #'a68--smie-rules-supper
-                    :forward-token #'a68--smie-forward-token
-                    :backward-token #'a68--smie-backward-token)
-        (setq-local beginning-of-defun-function 
#'a68-beginning-of-defun-supper)
-        (setq-local syntax-propertize-function 
#'a68-syntax-propertize-function-supper))
+  (cond
+   ((equal a68--stropping-regime 'supper)
+    ;; SUPPER stropping.
+    (setq-local comment-start a68-comment-style-supper)
+    (setq-local comment-end a68-comment-style-supper)
+    (setq-local font-lock-defaults '(a68-font-lock-keywords-supper))
+    (smie-setup a68--smie-grammar-supper #'a68--smie-rules-supper
+                :forward-token #'a68--smie-forward-token
+                :backward-token #'a68--smie-backward-token)
+    (setq-local beginning-of-defun-function #'a68-beginning-of-defun-supper)
+    (setq-local syntax-propertize-function 
#'a68-syntax-propertize-function-supper))
+   (t
     ;; UPPER stropping.
     (setq-local comment-start a68-comment-style-upper)
     (setq-local comment-end a68-comment-style-upper)
@@ -953,7 +969,7 @@ with the equivalent upcased form."
                 :forward-token #'a68--smie-forward-token
                 :backward-token #'a68--smie-backward-token)
     (setq-local beginning-of-defun-function #'a68-beginning-of-defun-upper)
-    (setq-local syntax-propertize-function 
#'a68-syntax-propertize-function-upper))
+    (setq-local syntax-propertize-function 
#'a68-syntax-propertize-function-upper)))
   (add-hook 'syntax-propertize-extend-region-functions
             #'syntax-propertize-multiline 'append 'local))
 

Reply via email to