Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
461 lines (460 sloc) 10.2 KB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>sml</string>
<string>sig</string>
</array>
<key>keyEquivalent</key>
<string>^~S</string>
<key>name</key>
<string>Standard ML</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>match</key>
<string>\b(val|datatype|signature|type|op|sharing|struct|as|let|in|abstype|local|where|case|of|fn|raise|exception|handle|ref|infix|infixr|before|end|structure|withtype)\b</string>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
<dict>
<key>begin</key>
<string>\b(let)\b</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
</dict>
<key>end</key>
<string>\b(end)\b</string>
<key>name</key>
<string>meta.exp.let.ml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\b(sig)\b</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.delimiter.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.delimiter.ml</string>
</dict>
</dict>
<key>end</key>
<string>\b(end)\b</string>
<key>name</key>
<string>meta.module.sigdec.ml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#spec</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>\b(if|then|else)\b</string>
<key>name</key>
<string>keyword.control.ml</string>
</dict>
<dict>
<key>begin</key>
<string>\b(fun|and)\s+([\w]+)\b</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.fun.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.ml</string>
</dict>
</dict>
<key>end</key>
<string>(?=val|type|eqtype|datatype|structure|local)</string>
<key>name</key>
<string>meta.definition.fun.ml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.ml</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ml</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ml</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.ml</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\.</string>
<key>name</key>
<string>constant.character.escape.ml</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.constant.ml</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.constant.ml</string>
</dict>
</dict>
<key>match</key>
<string>(#")(\\)?.(")</string>
<key>name</key>
<string>constant.character.ml</string>
</dict>
<dict>
<key>match</key>
<string>\b\d*\.?\d+\b</string>
<key>name</key>
<string>constant.numeric.ml</string>
</dict>
<dict>
<key>match</key>
<string>\b(andalso|orelse|not)\b</string>
<key>name</key>
<string>keyword.operator.logical.ml</string>
</dict>
<dict>
<key>begin</key>
<string>(?x)\b
(functor|structure|signature|funsig)\s+
(\w+)\s* # identifier</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.module.binder.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.module.ml</string>
</dict>
</dict>
<key>end</key>
<string>(?==|:|\()</string>
<key>name</key>
<string>meta.module.dec.ml</string>
</dict>
<dict>
<key>match</key>
<string>\b(open)\b</string>
<key>name</key>
<string>keyword.other.module.ml</string>
</dict>
<dict>
<key>match</key>
<string>\b(nil|true|false|NONE|SOME)\b</string>
<key>name</key>
<string>constant.language.ml</string>
</dict>
<dict>
<key>begin</key>
<string>\b(type|eqtype) .* =</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.typeabbrev.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>variable.other.typename.ml</string>
</dict>
</dict>
<key>end</key>
<string>$</string>
<key>name</key>
<string>meta.typeabbrev.ml</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(([a-zA-Z0-9\.\* ]|(\-&gt;))*)</string>
<key>name</key>
<string>meta.typeexp.ml</string>
</dict>
</array>
</dict>
</array>
<key>repository</key>
<dict>
<key>comments</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\(\*</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.begin.ml</string>
</dict>
</dict>
<key>end</key>
<string>\*\)</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.end.ml</string>
</dict>
</dict>
<key>name</key>
<string>comment.block.ml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>spec</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.abbrev.ml</string>
</dict>
</dict>
<key>match</key>
<string>\b(exception|type)\s+([a-zA-Z][a-zA-Z0-9'_]*)</string>
<key>name</key>
<string>meta.spec.ml.type</string>
</dict>
<dict>
<key>begin</key>
<string>\b(datatype)\s+([a-zA-Z][a-zA-Z0-9'_]*)\s*(?==)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.datatype.ml</string>
</dict>
</dict>
<key>end</key>
<string>(?=val|type|eqtype|datatype|structure|include|exception)</string>
<key>name</key>
<string>meta.spec.ml.datatype</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.datatype.ml</string>
</dict>
</dict>
<key>match</key>
<string>\b(and)\s+([a-zA-Z][a-zA-Z0-9'_]*)\s*(?==)</string>
<key>name</key>
<string>meta.spec.ml.datatype</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.other.dcon.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
</dict>
<key>match</key>
<string>(?x)
=\s*([a-zA-Z][a-zA-Z0-9'_]*)(\s+of)?</string>
<key>name</key>
<string>meta.datatype.rule.main.ml</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.other.dcon.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
</dict>
<key>match</key>
<string>\|\s*([a-zA-Z][a-zA-Z0-9'_]*)(\s+of)?</string>
<key>name</key>
<string>meta.datatype.rule.other.ml</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
</dict>
<key>match</key>
<string>\b(val)\s*([^:]+)\s*:</string>
<key>name</key>
<string>meta.spec.ml.val</string>
</dict>
<dict>
<key>begin</key>
<string>\b(structure)\s*(\w+)\s*:</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.module.ml</string>
</dict>
</dict>
<key>end</key>
<string>(?=val|type|eqtype|datatype|structure|include)</string>
<key>name</key>
<string>meta.spec.ml.structure</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(sharing)\b</string>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ml</string>
</dict>
</dict>
<key>match</key>
<string>\b(include)\b</string>
<key>name</key>
<string>meta.spec.ml.include</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.ml</string>
<key>uuid</key>
<string>9B148AEA-F723-4EDE-8B7F-2F4FD730BC3A</string>
</dict>
</plist>