Skip to content

Commit

Permalink
Added .eyaml syntax highlighter for sublime text
Browse files Browse the repository at this point in the history
  • Loading branch information
Geoff Meakin committed Aug 14, 2013
1 parent ec22d5e commit 32c60db
Show file tree
Hide file tree
Showing 3 changed files with 304 additions and 0 deletions.
16 changes: 16 additions & 0 deletions sublime_text/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Sublime Text Syntax Highlighting Package
========================================

The contents of this directory give syntax highlighting to .eyaml files in Sublime Text 2+

Install
=======

To install, simply copy eyaml.sublime-package into your "Installed Packages" directory in the data directory of your Sublime Text 2 installation. The data directory is:

* Windows: %APPDATA%/Sublime Text 2
* OS X: ~/Library/Application Support/Sublime Text 2
* Linux: ~/.Sublime Text 2

Then restart sublimetext

Binary file added sublime_text/eyaml.sublime-package
Binary file not shown.
288 changes: 288 additions & 0 deletions sublime_text/eyaml.syntax_definition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,288 @@
{ "name": "EYAML",
"scopeName": "source.eyaml",
"fileTypes": ["eyaml"],
"foldingStartMarker": "^[^#]\\s*.*:(\\s*\\[?| &.+)?$",
"foldingStopMarker": "^\\s*$|^\\s*\\}|^\\s*\\]|^\\s*\\)",
"keyEquivalent": "^~Y",
"repository": {
"erb": {
"end": "%>",
"begin": "<%+(?!>)=?",
"patterns": [
{
"match": "(#).*?(?=%>)",
"captures": {
"1": {
"name": "punctuation.definition.comment.ruby"
}
},
"name": "comment.line.number-sign.ruby"
},
{
"include": "source.ruby.rails"
}
],
"captures": {
"0": {
"name": "punctuation.section.embedded.ruby"
}
},
"name": "source.ruby.rails.embedded.html"
},
"escaped_char": {
"match": "\\\\.",
"name": "constant.character.escape.yaml"
}
},
"patterns": [
{
"include": "#erb"
},
{
"end": "^(?!^\\1)|^(?=\\1(-|\\w+\\s*:)|#)",
"begin": "^(\\s*)(?:(-)|(?:(-\\s*)?(\\w+\\s*(:))))\\s*(\\||>)",
"beginCaptures": {
"3": {
"name": "punctuation.definition.entry.yaml"
},
"4": {
"name": "entity.name.tag.yaml"
},
"5": {
"name": "punctuation.separator.key-value.yaml"
},
"2": {
"name": "punctuation.definition.entry.yaml"
}
},
"patterns": [
{
"include": "#erb"
}
],
"name": "string.unquoted.block.yaml"
},
{
"match": "(?:(?:(-\\s*)?(\\w+\\s*(:)))|(-))\\s*((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\s*$",
"captures": {
"3": {
"name": "punctuation.separator.key-value.yaml"
},
"4": {
"name": "punctuation.definition.entry.yaml"
},
"1": {
"name": "punctuation.definition.entry.yaml"
},
"2": {
"name": "entity.name.tag.yaml"
}
},
"name": "constant.numeric.yaml"
},
{
"match": "(?:(?:(-\\s*)?(\\w+\\s*(:)))|(-))\\s*(?:((\")[^\"]*(\"))|((')[^']*('))|([^,{}&#\\[\\]]+))\\s*",
"captures": {
"7": {
"name": "punctuation.definition.string.end.yaml"
},
"3": {
"name": "punctuation.separator.key-value.yaml"
},
"11": {
"name": "string.unquoted.yaml"
},
"4": {
"name": "punctuation.definition.entry.yaml"
},
"8": {
"name": "string.quoted.single.yaml"
},
"9": {
"name": "punctuation.definition.string.begin.yaml"
},
"5": {
"name": "string.quoted.double.yaml"
},
"1": {
"name": "punctuation.definition.entry.yaml"
},
"6": {
"name": "punctuation.definition.string.begin.yaml"
},
"10": {
"name": "punctuation.definition.string.end.yaml"
},
"2": {
"name": "entity.name.tag.yaml"
}
},
"name": "string.unquoted.yaml"
},
{
"match": "(?:(?:(-\\s*)?(\\w+\\s*(:)))|(-))\\s*([0-9]{4}-[0-9]{2}-[0-9]{2})\\s*$",
"captures": {
"3": {
"name": "punctuation.separator.key-value.yaml"
},
"4": {
"name": "punctuation.definition.entry.yaml"
},
"1": {
"name": "punctuation.definition.entry.yaml"
},
"2": {
"name": "entity.name.tag.yaml"
}
},
"name": "constant.other.date.yaml"
},
{
"match": "(\\w.*?)(:)\\s*((\\!\\!)omap)?",
"captures": {
"3": {
"name": "keyword.other.omap.yaml"
},
"4": {
"name": "punctuation.definition.keyword.yaml"
},
"1": {
"name": "entity.name.tag.yaml"
},
"2": {
"name": "punctuation.separator.key-value.yaml"
}
},
"name": "meta.tag.yaml"
},
{
"match": "(\\&|\\*)\\w.*?$",
"captures": {
"1": {
"name": "punctuation.definition.variable.yaml"
}
},
"name": "variable.other.yaml"
},
{
"end": "\"",
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yaml"
}
},
"patterns": [
{
"include": "#escaped_char"
},
{
"include": "#erb"
}
],
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yaml"
}
},
"name": "string.quoted.double.yaml"
},
{
"end": "'",
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yaml"
}
},
"patterns": [
{
"include": "#escaped_char"
},
{
"include": "#erb"
}
],
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yaml"
}
},
"name": "string.quoted.single.yaml"
},
{
"end": "`",
"begin": "`",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yaml"
}
},
"patterns": [
{
"include": "#escaped_char"
},
{
"include": "#erb"
}
],
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yaml"
}
},
"name": "string.interpolated.yaml"
},
{
"match": "(\\<\\<): ((\\*).*)$",
"captures": {
"3": {
"name": "punctuation.definition.keyword.yaml"
},
"1": {
"name": "entity.name.tag.yaml"
},
"2": {
"name": "keyword.operator.merge-key.yaml"
}
},
"name": "keyword.operator.merge-key.yaml"
},
{
"match": "( |\t)+$",
"disabled": "1",
"name": "invalid.deprecated.trailing-whitespace.yaml"
},
{
"match": "(?<!\\$)(#)(?!\\{).*$\\n?",
"captures": {
"1": {
"name": "punctuation.definition.comment.yaml"
}
},
"name": "comment.line.number-sign.yaml"
},
{
"match": "-",
"name": "keyword.operator.symbol"
},
{
"end": "(?=[^\\t])",
"begin": "^(?=\\t)",
"patterns": [
{
"match": "(\\t)(\\t)?",
"captures": {
"1": {
"name": "meta.odd-tab"
},
"2": {
"name": "meta.even-tab"
}
}
}
],
"name": "meta.leading-tabs.yaml"
}
], "uuid": "1876aa1d-ff42-4994-b552-663473607454"
}

0 comments on commit 32c60db

Please sign in to comment.