Created
November 21, 2015 20:16
-
-
Save PWBENNETT/0e860d907fc59554f1ce to your computer and use it in GitHub Desktop.
Updated Marpa Highlighter for TextMate / SublimeText
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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>scopeName</key> | |
<string>source.marpa</string> | |
<key>fileTypes</key> | |
<array> | |
<string>marpa</string> | |
<string>mr2</string> | |
<string>ebnf</string> | |
<string>bnf</string> | |
<string>slif</string> | |
</array> | |
<key>name</key> | |
<string>Marpa Scanless</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(lexeme\s+default)\s+(=)\s+</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal_alternate</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\S+)\s+(\S+)\s+(=)\s+(\S+)\s+\S+</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>string.quoted.single.marpa</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal_alternate</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^([^: ]?<.+?>)\s+(::=)</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.function.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal_alternate</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^([^: ]?<.+?>)\s+(~)</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal_alternate</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^([^: ]\S*)\s+(::=)</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.function.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#semantics_exclude</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal_alternate</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^([^: ]\S*)\s+(~)</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#semantics_exclude</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal_alternate</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(:\S+)\s+(::=)</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#semantics_exclude</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(:\S+)\s+(~)</string> | |
<key>end</key> | |
<string>^(?!\s)</string> | |
<key>name</key> | |
<string>punctuation.section.scope.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>source.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#semantics_exclude</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
<key>repository</key> | |
<dict> | |
<key>nonterminal_alternate</key> | |
<dict> | |
<key>match</key> | |
<string>([|]+)</string> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
</dict> | |
<key>escaped_char</key> | |
<dict> | |
<key>match</key> | |
<string>(\\\D)</string> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
<key>numeric_escape</key> | |
<dict> | |
<key>match</key> | |
<string>(\\\d+)</string> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
<key>regexp_brackets</key> | |
<dict> | |
<key>begin</key> | |
<string>[^\\](\[)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?:(?![^\\])|(?!^\s))(\])</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
<key>contentName</key> | |
<string>string.regexp.compile.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#regexp_unicode_symbol</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_posix_class</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#escaped_char</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#numeric_escape</string> | |
</dict> | |
</array> | |
</dict> | |
<key>regexp_posix_class</key> | |
<dict> | |
<key>begin</key> | |
<string>(\[):</string> | |
<key>end</key> | |
<string>:(\])</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
<key>regexp_parens</key> | |
<dict> | |
<key>begin</key> | |
<string>[^\\](\()</string> | |
<key>end</key> | |
<string>(?:(?![^\\])|(?!^\s))(\))</string> | |
<key>name</key> | |
<string>source.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>string.regexp.compile.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#regexp_content</string> | |
</dict> | |
</array> | |
</dict> | |
<key>semantics_exclude</key> | |
<dict> | |
<key>begin</key> | |
<string>[^\\](\()</string> | |
<key>end</key> | |
<string>(?:(?![^\\])|(?!^\s))(\))</string> | |
<key>name</key> | |
<string>source.marpa</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.comment.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.comment.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>string.comment.marpa</string> | |
</dict> | |
<key>quoted_literal</key> | |
<dict> | |
<key>begin</key> | |
<string>\s(['])</string> | |
<key>end</key> | |
<string>[']</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.begin.marpa</string> | |
</dict> | |
</dict> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.begin.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>string.quoted.single.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#numeric_escape</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#escaped_char</string> | |
</dict> | |
</array> | |
</dict> | |
<key>regexp_unicode_symbol</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\\[Ppx]\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>source.marpa</string> | |
<key>captures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>support.function.marpa</string> | |
</dict> | |
</array> | |
</dict> | |
<key>quantifier</key> | |
<dict> | |
<key>match</key> | |
<string>([?*+]+)</string> | |
<key>name</key> | |
<string>source.marpa</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
</dict> | |
<key>regexp_content</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#run_length</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_parens</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_unicode_symbol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(\\\d+)</string> | |
<key>name</key> | |
<string>source.marpa</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
</dict> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#escaped_char</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#numeric_escape</string> | |
</dict> | |
</array> | |
</dict> | |
<key>run_length</key> | |
<dict> | |
<key>begin</key> | |
<string>(\{)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(\})</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.character.escape.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>support.function.marpa</string> | |
</dict> | |
<key>nonterminal</key> | |
<dict> | |
<key>begin</key> | |
<string>([(]+)</string> | |
<key>end</key> | |
<string>([)]+)</string> | |
<key>name</key> | |
<string>source.marpa</string> | |
<key>captures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>([|])</string> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>string.regexp.compile.marpa</string> | |
</dict> | |
</dict> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quantifier</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#regexp_brackets</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nonterminal</string> | |
</dict> | |
</array> | |
</dict> | |
<key>adverb</key> | |
<dict> | |
<key>begin</key> | |
<string>(\S+)\s+(=>)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.other.key.marpa</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.variable.marpa</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?!.)</string> | |
<key>name</key> | |
<string>source.marpa</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>(::\S+)</string> | |
<key>name</key> | |
<string>constant.language.marpa</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.marpa</string> | |
</dict> | |
</dict> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#quoted_literal</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#adverb</string> | |
</dict> | |
</array> | |
</dict> | |
</dict> | |
<key>uuid</key> | |
<string>DEADBEEF-6B1C-11D9-8CC2-000D93589AF6</string> | |
</dict> | |
</plist> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment