summaryrefslogtreecommitdiff
path: root/editors/sail2-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'editors/sail2-mode.el')
-rw-r--r--editors/sail2-mode.el20
1 files changed, 8 insertions, 12 deletions
diff --git a/editors/sail2-mode.el b/editors/sail2-mode.el
index 8dde96df..e17b1a4f 100644
--- a/editors/sail2-mode.el
+++ b/editors/sail2-mode.el
@@ -4,11 +4,11 @@
(add-to-list 'auto-mode-alist '("\\.sail\\'" . sail-mode))
(defconst sail2-keywords
- '("val" "function" "type" "struct" "union" "enum" "let" "if" "then"
- "else" "match" "in" "return" "register" "forall" "operator" "effect"
- "overload" "cast" "sizeof" "constraint" "default" "assert"
+ '("val" "function" "type" "struct" "union" "enum" "let" "var" "if" "then"
+ "else" "match" "in" "return" "register" "ref" "forall" "operator" "effect"
+ "overload" "cast" "sizeof" "constraint" "default" "assert" "newtype"
"pure" "infixl" "infixr" "infix" "scattered" "end" "try" "catch" "and"
- "throw" "clause" "as" "repeat" "until" "while" "do" "foreach"))
+ "throw" "clause" "as" "repeat" "until" "while" "do" "foreach" "bitfield"))
(defconst sail2-kinds
'("Int" "Type" "Order" "inc" "dec"
@@ -31,16 +31,12 @@
(defconst sail2-mode-syntax-table
(let ((st (make-syntax-table)))
+ (modify-syntax-entry ?> "." st)
(modify-syntax-entry ?_ "w" st)
(modify-syntax-entry ?' "w" st)
- (modify-syntax-entry ?* ". 23" st)
- (condition-case nil
- (progn
- (modify-syntax-entry ?\( "()1n" st)
- (modify-syntax-entry ?\) ")(4n" st))
- (error ; XEmacs signals an error instead of ignoring `n'.
- (modify-syntax-entry ?\( "()1" st)
- (modify-syntax-entry ?\) ")(4" st)))
+ (modify-syntax-entry ?* ". 23" st)
+ (modify-syntax-entry ?/ ". 124b" st)
+ (modify-syntax-entry ?\n "> b" st)
st)
"Syntax table for Sail2 mode")