Skip to content

Instantly share code, notes, and snippets.

@curator
Created June 26, 2014 22:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save curator/1576101294d66fd4ba4c to your computer and use it in GitHub Desktop.
Save curator/1576101294d66fd4ba4c to your computer and use it in GitHub Desktop.
Updated YAML that deals with hiera data a bit better (double colons)
<?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>yaml</string>
<string>yml</string>
</array>
<key>foldingStartMarker</key>
<string>^[^#]\s*.*:(\s*\[?| &amp;.+)?$</string>
<key>foldingStopMarker</key>
<string>^\s*$|^\s*\}|^\s*\]|^\s*\)</string>
<key>keyEquivalent</key>
<string>^~Y</string>
<key>name</key>
<string>YAML</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#erb</string>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(?:(-)|(?:(-\s*)?(\w+\s*(:))))\s*(\||&gt;)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>entity.name.tag.yaml</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.yaml</string>
</dict>
</dict>
<key>end</key>
<string>^(?!^\1)|^(?=\1(-|\w+\s*:)|#)</string>
<key>name</key>
<string>string.unquoted.block.yaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#erb</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.tag.yaml</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.yaml</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
</dict>
<key>match</key>
<string>(?:(?:(-\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*$</string>
<key>name</key>
<string>constant.numeric.yaml</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
<key>10</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.yaml</string>
</dict>
<key>11</key>
<dict>
<key>name</key>
<string>string.unquoted.yaml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.tag.yaml</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.yaml</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>string.quoted.double.yaml</string>
</dict>
<key>6</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.yaml</string>
</dict>
<key>7</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.yaml</string>
</dict>
<key>8</key>
<dict>
<key>name</key>
<string>string.quoted.single.yaml</string>
</dict>
<key>9</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.yaml</string>
</dict>
</dict>
<key>match</key>
<string>(?:(?:(-\s*)?((\w+|:{2})+\s*(:)))|(-))\s*(?:((")[^"]*("))|((')[^']*('))|([^,{}&amp;#\[\]]+))\s*</string>
<key>name</key>
<string>string.unquoted.yaml</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.tag.yaml</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.yaml</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.entry.yaml</string>
</dict>
</dict>
<key>match</key>
<string>(?:(?:(-\s*)?(\w+\s*(:)))|(-))\s*([0-9]{4}-[0-9]{2}-[0-9]{2})\s*$</string>
<key>name</key>
<string>constant.other.date.yaml</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.tag.yaml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.separator.key-value.yaml</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>keyword.other.omap.yaml</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.yaml</string>
</dict>
</dict>
<key>match</key>
<string>(\w.*?)(:)\s*((\!\!)omap)?</string>
<key>name</key>
<string>meta.tag.yaml</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.variable.yaml</string>
</dict>
</dict>
<key>match</key>
<string>(\&amp;|\*)\w.*?$</string>
<key>name</key>
<string>variable.other.yaml</string>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.yaml</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.yaml</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.yaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>include</key>
<string>#erb</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.yaml</string>
</dict>
</dict>
<key>end</key>
<string>'</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.yaml</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.yaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>include</key>
<string>#erb</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.yaml</string>
</dict>
</dict>
<key>end</key>
<string>`</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.yaml</string>
</dict>
</dict>
<key>name</key>
<string>string.interpolated.yaml</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>include</key>
<string>#erb</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.tag.yaml</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.merge-key.yaml</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.keyword.yaml</string>
</dict>
</dict>
<key>match</key>
<string>(\&lt;\&lt;): ((\*).*)$</string>
<key>name</key>
<string>keyword.operator.merge-key.yaml</string>
</dict>
<dict>
<key>disabled</key>
<string>1</string>
<key>match</key>
<string>( | )+$</string>
<key>name</key>
<string>invalid.deprecated.trailing-whitespace.yaml</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.yaml</string>
</dict>
</dict>
<key>match</key>
<string>(?&lt;!\$)(#)(?!\{).*$\n?</string>
<key>name</key>
<string>comment.line.number-sign.yaml</string>
</dict>
<dict>
<key>match</key>
<string>-</string>
<key>name</key>
<string>keyword.operator.symbol</string>
</dict>
<dict>
<key>begin</key>
<string>^(?=\t)</string>
<key>end</key>
<string>(?=[^\t])</string>
<key>name</key>
<string>meta.leading-tabs.yaml</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.odd-tab</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>meta.even-tab</string>
</dict>
</dict>
<key>match</key>
<string>(\t)(\t)?</string>
</dict>
</array>
</dict>
</array>
<key>repository</key>
<dict>
<key>erb</key>
<dict>
<key>begin</key>
<string>&lt;%+(?!&gt;)=?</string>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.section.embedded.ruby</string>
</dict>
</dict>
<key>end</key>
<string>%&gt;</string>
<key>name</key>
<string>source.ruby.rails.embedded.html</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.ruby</string>
</dict>
</dict>
<key>match</key>
<string>(#).*?(?=%&gt;)</string>
<key>name</key>
<string>comment.line.number-sign.ruby</string>
</dict>
<dict>
<key>include</key>
<string>source.ruby.rails</string>
</dict>
</array>
</dict>
<key>escaped_char</key>
<dict>
<key>match</key>
<string>\\.</string>
<key>name</key>
<string>constant.character.escape.yaml</string>
</dict>
</dict>
<key>scopeName</key>
<string>source.yaml</string>
<key>uuid</key>
<string>B0C44228-4F1F-11DA-AFF2-000A95AF0064</string>
</dict>
</plist>
@justinclayton
Copy link

this rulz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment