Skip to content

Instantly share code, notes, and snippets.

@geoom
Created September 11, 2013 11:40
Show Gist options
  • Save geoom/6522434 to your computer and use it in GitHub Desktop.
Save geoom/6522434 to your computer and use it in GitHub Desktop.
jade syntax highlighting to sublime text 2, create a folder named "jade" on sublime's packages path, then paste this file within jade folder
<?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>jade</string>
</array>
<key>keyEquivalent</key>
<string>^~J</string>
<key>name</key>
<string>Jade</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.import.include.jade</string>
</dict>
</dict>
<key>match</key>
<string>^\s*\b(include)\b</string>
</dict>
<dict>
<key>match</key>
<string>^(!!!)(\s*[a-zA-Z0-9-_]+)?</string>
<key>name</key>
<string>keyword.other.doctype.jade</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.comment.jade</string>
</dict>
</dict>
<key>match</key>
<string>^\s*(//-?)(?:\s*[^-\s]|\s+\S).*$\n?</string>
<key>name</key>
<string>comment.line.double-slash.jade</string>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(//-?)\s*$</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.section.comment.jade</string>
</dict>
</dict>
<key>end</key>
<string>^(?!\1\s+|$)</string>
<key>name</key>
<string>comment.block.jade</string>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(\:markdown)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.jade</string>
</dict>
</dict>
<key>end</key>
<string>^(?!\1\s+)</string>
<key>name</key>
<string>meta.filter.markdown.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>text.html.markdown</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(\:sass)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.jade</string>
</dict>
</dict>
<key>end</key>
<string>^(?!\1\s+)</string>
<key>name</key>
<string>meta.filter.sass.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.sass</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(\:less)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.jade</string>
</dict>
</dict>
<key>end</key>
<string>^(?!\1\s+)</string>
<key>name</key>
<string>meta.filter.less.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.css.less</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(\:coffeescript)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.jade</string>
</dict>
</dict>
<key>end</key>
<string>^(?!\1\s+)(?=\s*.)</string>
<key>name</key>
<string>meta.filter.coffee.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.coffee</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(\:cdata)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.jade</string>
</dict>
</dict>
<key>end</key>
<string>^(?!\1\s+)</string>
<key>name</key>
<string>meta.filter.cdata.jade</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.jade</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.jade</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.jade</string>
</dict>
<key>4</key>
<dict>
<key>name</key>
<string>variable.parameter.function.jade</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.jade</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: mixin dialog-title-desc(title, desc)</string>
<key>match</key>
<string>^\s*(mixin) ([\w\-]+)\s*(\()(.*?)(\))</string>
<key>name</key>
<string>meta.mixin.jade</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.jade</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.jade</string>
</dict>
</dict>
<key>comment</key>
<string>match stuff like: mixin dialog-title-desc</string>
<key>match</key>
<string>^\s*(mixin) ([\w\-]+)</string>
<key>name</key>
<string>meta.mixin.jade</string>
</dict>
<dict>
<key>begin</key>
<string>^\s*(-|=|!=)</string>
<key>end</key>
<string>$</string>
<key>name</key>
<string>source.js.embedded.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.js</string>
</dict>
<dict>
<key>match</key>
<string>\b(each)\b</string>
<key>name</key>
<string>keyword.control.js</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^(\s*)(script)</string>
<key>beginCaptures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.tag.script.jade</string>
</dict>
</dict>
<key>end</key>
<string>^((?=(\1)([\w#\.]|$\n?))|^$\n?)</string>
<key>name</key>
<string>source.js.embedded.jade</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;=script)\s*\(</string>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>source.js</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>[#!]\{[^\}]+\}</string>
<key>name</key>
<string>string.interpolated.jade</string>
</dict>
<dict>
<key>begin</key>
<string>^\s*(?!\w+\:)(?:(([\w]+))|(?=\.|#))</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>meta.tag.any.jade</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.tag.jade</string>
</dict>
</dict>
<key>comment</key>
<string>Match any tag, id or class. skip AST filters</string>
<key>end</key>
<string>$|(?!\.|#|=|-)</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\.[\w-]+</string>
<key>name</key>
<string>meta.tag.attribute.class.jade</string>
</dict>
<dict>
<key>match</key>
<string>#[\w-]+</string>
<key>name</key>
<string>meta.tag.attribute.id.jade</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;=\w)\s*\(</string>
<key>end</key>
<string>\)</string>
<key>name</key>
<string>meta.tag.attribute.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#tag-stuff</string>
</dict>
</array>
</dict>
</array>
<key>repository</key>
<dict>
<key>entities</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.entity.jade</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.entity.jade</string>
</dict>
</dict>
<key>match</key>
<string>(&amp;)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string>
<key>name</key>
<string>constant.character.entity.jade</string>
</dict>
<dict>
<key>match</key>
<string>&amp;</string>
<key>name</key>
<string>invalid.illegal.bad-ampersand.jade</string>
</dict>
</array>
</dict>
<key>filter-langs</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#markdown</string>
</dict>
<dict>
<key>include</key>
<string>#sass</string>
</dict>
</array>
</dict>
<key>markdown</key>
<dict>
<key>begin</key>
<string>markdown\s*$\n?</string>
<key>end</key>
<string>(?!^\1\s+)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>text.html.markdown</string>
</dict>
</array>
</dict>
<key>sass</key>
<dict>
<key>begin</key>
<string>^(\s*)\:sass</string>
<key>end</key>
<string>(?!^\1\s+)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.sass</string>
</dict>
</array>
</dict>
<key>string-double-quoted</key>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.jade</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.jade</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entities</string>
</dict>
</array>
</dict>
<key>string-single-quoted</key>
<dict>
<key>begin</key>
<string>'</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.jade</string>
</dict>
</dict>
<key>end</key>
<string>'</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.jade</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.single.jade</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entities</string>
</dict>
</array>
</dict>
<key>tag-generic-attribute</key>
<dict>
<key>match</key>
<string>\b([a-zA-Z\-:]+)</string>
<key>name</key>
<string>entity.other.attribute-name.jade</string>
</dict>
<key>tag-stuff</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string-double-quoted</string>
</dict>
<dict>
<key>include</key>
<string>#string-single-quoted</string>
</dict>
<dict>
<key>include</key>
<string>#tag-generic-attribute</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.jade</string>
<key>uuid</key>
<string>C5B73B98-5F2A-42E3-9F0E-028A74A9FE4B</string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment