diff --git a/Syntaxes/Standard ML.plist b/Syntaxes/Standard ML.plist
index 76ad244..e6766a6 100644
--- a/Syntaxes/Standard ML.plist
+++ b/Syntaxes/Standard ML.plist
@@ -29,7 +29,7 @@
include
- #sigdecl
+ #basesig
match
@@ -188,6 +188,35 @@
repository
+ basesig
+
+ begin
+ \b(sig)\b
+ captures
+
+ 1
+
+ name
+ keyword.other.delimiter.ml
+
+ 2
+
+ name
+ keyword.other.delimiter.ml
+
+
+ end
+ \b(end)\b
+ name
+ meta.module.sigdec.ml
+ patterns
+
+
+ include
+ #spec
+
+
+
comments
patterns
@@ -217,32 +246,27 @@
- sigdecl
+ sigexp
- begin
- \b(sig)\b
- captures
-
- 1
-
- name
- keyword.other.delimiter.ml
-
- 2
+ patterns
+
+ captures
+
+ 1
+
+ name
+ keyword.other.ml
+
+
+ match
+ \b(where type)\b
name
- keyword.other.delimiter.ml
+ meta.module.sigexp.ml
-
- end
- \b(end)\b
- name
- meta.module.sigdec.ml
- patterns
-
include
- #spec
+ #basesig
@@ -346,6 +370,10 @@
meta.spec.ml.datatype
patterns
+
+ include
+ #comments
+
captures
@@ -463,7 +491,11 @@
include
- #sigdecl
+ #comments
+
+
+ include
+ #basesig
match
@@ -471,9 +503,23 @@
name
keyword.other.ml
+
+ match
+ \b(where)\b
+ name
+ keyword.other.ml
+
+
+ match
+ \b(and)\b
+ name
+ keyword.other.ml
+
+ begin
+ \b(include)\b
captures
1
@@ -482,10 +528,21 @@
keyword.other.ml
- match
- \b(include)\b
+ end
+ (?=val|type|eqtype|datatype|structure|include|exception)
name
meta.spec.ml.include
+ patterns
+
+
+ include
+ #sigexp
+
+
+ include
+ #comments
+
+
include