config/sublime/Packages/OCaml/OCamllex.tmLanguage
2012-08-01 21:04:05 -07:00

476 lines
11 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>mll</string>
</array>
<key>foldingStartMarker</key>
<string>{</string>
<key>foldingStopMarker</key>
<string>}</string>
<key>keyEquivalent</key>
<string>^~O</string>
<key>name</key>
<string>OCamllex</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>^\s*({)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.embedded.ocaml.begin.ocamllex</string>
</dict>
</dict>
<key>end</key>
<string>^\s*(})</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.embedded.ocaml.end.ocamllex</string>
</dict>
</dict>
<key>name</key>
<string>meta.embedded.ocaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.ocaml</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\b(let)\s+([a-z][a-zA-Z0-9'_]*)\s+=</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.pattern-definition.ocamllex</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.type.pattern.stupid-goddamn-hack.ocamllex</string>
</dict>
</dict>
<key>end</key>
<string>^(?:\s*let)|(?:\s*(rule|$))</string>
<key>name</key>
<string>meta.pattern-definition.ocaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#match-patterns</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(rule|and)\s+([a-z][a-zA-Z0-9_]*)\s+(=)\s+(parse)(?=\s*$)|((?&lt;!\|)(\|)(?!\|))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.ocamllex</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.entrypoint.ocamllex</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.operator.ocamllex</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>keyword.other.ocamllex</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>punctuation.separator.match-pattern.ocamllex</string>
</dict>
</dict>
<key>end</key>
<string>(?:^\s*((and)\b|(?=\|)|$))</string>
<key>endCaptures</key>
<dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.other.entry-definition.ocamllex</string>
</dict>
</dict>
<key>name</key>
<string>meta.pattern-match.ocaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#match-patterns</string>
</dict>
<dict>
<key>include</key>
<string>#actions</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>#strings</string>
</dict>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>match</key>
<string>=</string>
<key>name</key>
<string>keyword.operator.symbol.ocamllex</string>
</dict>
<dict>
<key>begin</key>
<string>\(</string>
<key>end</key>
<string>\)</string>
<key>name</key>
<string>meta.paren-group.ocamllex</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(||“|”)</string>
<key>name</key>
<string>invalid.illegal.unrecognized-character.ocamllex</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>actions</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>[^\']({)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.action.begin.ocamllex</string>
</dict>
</dict>
<key>end</key>
<string>(})</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.action.end.ocamllex</string>
</dict>
</dict>
<key>name</key>
<string>meta.action.ocamllex</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.ocaml</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>chars</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.char.begin.ocamllex</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.char.end.ocamllex</string>
</dict>
</dict>
<key>match</key>
<string>(')([^\\]|\\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\]))(')</string>
<key>name</key>
<string>constant.character.ocamllex</string>
</dict>
</array>
</dict>
<key>comments</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>comment.block.empty.ocaml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.block.empty.ocaml</string>
</dict>
</dict>
<key>match</key>
<string>\(\*(?:(\*)| ( )\*)\)</string>
<key>name</key>
<string>comment.block.ocaml</string>
</dict>
<dict>
<key>begin</key>
<string>\(\*</string>
<key>end</key>
<string>\*\)</string>
<key>name</key>
<string>comment.block.ocaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?=[^\\])(")</string>
<key>end</key>
<string>"</string>
<key>name</key>
<string>comment.block.string.quoted.double.ocaml</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])</string>
<key>name</key>
<string>comment.block.string.constant.character.escape.ocaml</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>match-patterns</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.sub-pattern.begin.ocamllex</string>
</dict>
</dict>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.sub-pattern.end.ocamllex</string>
</dict>
</dict>
<key>name</key>
<string>meta.pattern.sub-pattern.ocamllex</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#match-patterns</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>[a-z][a-zA-Z0-9'_]</string>
<key>name</key>
<string>entity.name.type.pattern.reference.stupid-goddamn-hack.ocamllex</string>
</dict>
<dict>
<key>match</key>
<string>\bas\b</string>
<key>name</key>
<string>keyword.other.pattern.ocamllex</string>
</dict>
<dict>
<key>match</key>
<string>eof</string>
<key>name</key>
<string>constant.language.eof.ocamllex</string>
</dict>
<dict>
<key>match</key>
<string>_</string>
<key>name</key>
<string>constant.language.universal-match.ocamllex</string>
</dict>
<dict>
<key>begin</key>
<string>(\[)(\^?)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.character-class.begin.ocamllex</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.character-class.negation.ocamllex</string>
</dict>
</dict>
<key>end</key>
<string>(])(?!\')</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.character-class.end.ocamllex</string>
</dict>
</dict>
<key>name</key>
<string>meta.pattern.character-class.ocamllex</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>-</string>
<key>name</key>
<string>punctuation.separator.character-class.range.ocamllex</string>
</dict>
<dict>
<key>include</key>
<string>#chars</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>\*|\+|\?</string>
<key>name</key>
<string>keyword.operator.pattern.modifier.ocamllex</string>
</dict>
<dict>
<key>match</key>
<string>\|</string>
<key>name</key>
<string>keyword.operator.pattern.alternation.ocamllex</string>
</dict>
<dict>
<key>include</key>
<string>#chars</string>
</dict>
<dict>
<key>include</key>
<string>#strings</string>
</dict>
</array>
</dict>
<key>strings</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[^\\])(")</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.ocaml</string>
</dict>
</dict>
<key>end</key>
<string>(")</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.ocaml</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.ocamllex</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\$[ \t]*</string>
<key>name</key>
<string>punctuation.separator.string.ignore-eol.ocaml</string>
</dict>
<dict>
<key>match</key>
<string>\\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])</string>
<key>name</key>
<string>constant.character.string.escape.ocaml</string>
</dict>
<dict>
<key>match</key>
<string>\\[\|\(\)1-9$^.*+?\[\]]</string>
<key>name</key>
<string>constant.character.regexp.escape.ocaml</string>
</dict>
<dict>
<key>match</key>
<string>\\(?!(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\]|[\|\(\)1-9$^.*+?\[\]]|$[ \t]*))(?:.)</string>
<key>name</key>
<string>invalid.illegal.character.string.escape</string>
</dict>
</array>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.ocamllex</string>
<key>uuid</key>
<string>007E5263-8E0D-4BEF-B0E1-F01AE32590E8</string>
</dict>
</plist>