name: Standard ML fileTypes:
-
sml
-
sig
scopeName: source.ml repository:
spec: patterns: - name: meta.spec.ml.type captures: "1": name: keyword.other.ml match: \b(type)\b - name: meta.spec.ml.datatype captures: "1": name: keyword.other.ml match: \b(datatype)\b - name: meta.spec.ml.val captures: "1": name: keyword.other.ml match: "\\b(val)\\s*\\w+:" - name: meta.spec.ml.structure captures: "1": name: keyword.other.ml match: "\\b(structure)\\s*\\w+:" - name: meta.spec.ml.include captures: "1": name: keyword.other.ml match: \b(include)\b
uuid: 9B148AEA-F723-4EDE-8B7F-2F4FD730BC3A foldingStartMarker: (*|b(struct|sig)b patterns:
-
name: comment.block.ml captures:
"0": name: punctuation.definition.comment.ml
begin: (* end: *)
-
name: keyword.other.ml match: b(val|datatype|struct|as|let|in|abstype|local|where|case|of|fn|raise|exception|handle|ref|infix)b
-
name: meta.module.sigdec.ml captures:
"1": name: keyword.other.delimiter.ml "2": name: keyword.other.delimiter.ml
begin: b(sig)b end: b(end)b patterns:
-
include: “#spec”
-
-
name: keyword.control.ml match: b(if|then|else)b
-
name: meta.definition.fun.ml captures:
"1": name: keyword.control.fun.ml "2": name: entity.name.function.ml
match: b(fun|and)s+([w‘]+)b
-
name: string.quoted.double.ml endCaptures:
"0": name: punctuation.definition.string.end.ml
begin: “"” beginCaptures:
"0": name: punctuation.definition.string.begin.ml
end: “"” patterns:
-
name: constant.character.escape.ml match: \.
-
-
name: constant.character.ml captures:
"1": name: punctuation.definition.constant.ml "3": name: punctuation.definition.constant.ml
match: (#“)(\)?.(”)
-
name: constant.numeric.ml match: bd*.?d+b
-
name: keyword.operator.logical.ml match: b(andalso|orelse|not)b
-
name: meta.module.dec.ml captures:
"1": name: storage.type.module.binder.ml "2": name: entity.name.type.module.ml
begin: |-
(?x)\b (functor|structure|signature|funsig)\s+ (\w+)\s* # identifier
end: (?==|:)
-
name: keyword.other.module.ml match: b(open)b
-
name: constant.language.ml match: b(nil|true|false|NONE|SOME)b
-
name: meta.typeabbrev.ml captures:
"1": name: keyword.other.typeabbrev.ml "2": name: variable.other.typename.ml
begin: ^s*(type|eqtype) .* = end: $ patterns:
-
name: meta.typeexp.ml match: (([a-zA-Z0-9.* ]|(->))*)
-
-
name: meta.type.ascription.ml captures:
"2": name: constant.other.type.ml
match: “[^:](:)\s*(([a-zA-Z0-9\.*_ ]|(\->))*)” comment: type annotation/ascription
foldingStopMarker: *)|bendb keyEquivalent: ^~S