Skip to content

Instantly share code, notes, and snippets.

@Varriount
Last active May 18, 2017 19:36
Show Gist options
  • Save Varriount/29d8be2abeec9bad08421b3715eb1a2b to your computer and use it in GitHub Desktop.
Save Varriount/29d8be2abeec9bad08421b3715eb1a2b to your computer and use it in GitHub Desktop.
let hex = 0xDEADBEEF'u32
<?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>nim</string>
<string>nims</string>
</array>
<key>name</key>
<string>Nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(\#\[\s*(TODO|todo)?)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.multi-comment.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.TODO.nim</string>
</dict>
</dict>
<key>comment</key>
<string>A multiline comment.</string>
<key>end</key>
<string>(.*]\#)</string>
<key>name</key>
<string>comment.line.number-sign.multi-comment.nim</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.doc-comment.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.TODO.nim</string>
</dict>
</dict>
<key>comment</key>
<string>A documentation comment.</string>
<key>match</key>
<string>(##\s*(TODO|todo)?).+$\n?</string>
<key>name</key>
<string>comment.line.number-sign.doc-comment.nim</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.doc-comment.empty.nim</string>
</dict>
</dict>
<key>comment</key>
<string>An empty documentation comment.</string>
<key>match</key>
<string>(##\s*)$\n?</string>
<key>name</key>
<string>comment.line.number-sign.doc-comment.empty.nim</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.TODO.nim</string>
</dict>
</dict>
<key>comment</key>
<string>A regular comment</string>
<key>match</key>
<string>(#\s*(TODO|todo)?).*$\n?</string>
<key>name</key>
<string>comment.line.number-sign.comment.nim</string>
</dict>
<dict>
<key>comment</key>
<string>C</string>
<key>name</key>
<string>source.c.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\{\.(emit:) ?(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\"\"\")\.?</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\`</string>
<key>end</key>
<string>\`</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>source.c</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>comment</key>
<string>assembly</string>
<key>name</key>
<string>source.asm.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(asm )(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\`</string>
<key>end</key>
<string>\`</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>source.asm</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>comment</key>
<string>A nim procedure or method declaration</string>
<key>name</key>
<string>meta.proc.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(proc|method|template|macro|iterator|converter)\s+((\`[^\s\`]+\`)|([\w\x{80}-\x{10FFFF}]+))(\*)?</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.proc.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.nim</string>
</dict>
<key>5</key>
<dict>
<key>name</key>
<string>keyword.operator.secondary.kw-public.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\=)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>comment</key>
<string>Generic</string>
<key>match</key>
<string>\[[\w\x{80}-\x{10FFFF}]+\]</string>
</dict>
<dict>
<key>begin</key>
<string>\{</string>
<key>comment</key>
<string>Pattern</string>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\"</string>
<key>end</key>
<string>\"</string>
<key>name</key>
<string>string.something.nim</string>
</dict>
<dict>
<key>match</key>
<string>([\w\x{80}-\x{10FFFF}]+)</string>
<key>name</key>
<string>entity.other.attribute-name.pattern.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\(</string>
<key>comment</key>
<string>Parameters</string>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\{</string>
<key>comment</key>
<string>Pattern</string>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\"</string>
<key>end</key>
<string>\"</string>
<key>name</key>
<string>string.something.nim</string>
</dict>
<dict>
<key>match</key>
<string>([\[\]\w\x{80}-\x{10FFFF}]+)</string>
<key>name</key>
<string>entity.other.attribute-name.pattern.nim</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\{\.</string>
<key>comment</key>
<string>Pragmas</string>
<key>end</key>
<string>\.?\}</string>
<key>name</key>
<string>pragma</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\"</string>
<key>end</key>
<string>\"</string>
<key>name</key>
<string>string.something.nim</string>
</dict>
<dict>
<key>match</key>
<string>([\w\x{80}-\x{10FFFF}]+)</string>
<key>name</key>
<string>entity.other.attribute-name.pragma.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>discard \"\"\"</string>
<key>comment</key>
<string>A discarded triple string literal comment</string>
<key>end</key>
<string>\"\"\"</string>
<key>name</key>
<string>comment.line.discarded.nim</string>
</dict>
<dict>
<key>comment</key>
<string>A float literal</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(\d[_\d]*((\.[_\d]+([eE][\+\-]?\d[_\d]*)?)|([eE][\+\-]?\d[_\d]*)))('?([fF](32|64|128))|[fFdD])?</string>
<key>name</key>
<string>constant.numeric.float.decimal.nim</string>
</dict>
<dict>
<key>comment</key>
<string>A hexadecimal literal</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(0[xX]\h[_\h]*)('?(([iIuUfF](8|16|32|64))|[uUfFdD]))?</string>
<key>name</key>
<string>constant.numeric.integer.hexadecimal.nim</string>
</dict>
<dict>
<key>comment</key>
<string>A base-8 integer literal</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(0[ocC][0-7][_0-7]*)('?(([iIuUfF](8|16|32|64))|[uUfFdD]))?</string>
<key>name</key>
<string>constant.numeric.integer.octal.nim</string>
</dict>
<dict>
<key>comment</key>
<string>A base-2 integer literal</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(0(b|B)[01][_01]*)('?(([iIuUfF](8|16|32|64))|[uUfFdD]))?</string>
<key>name</key>
<string>constant.numeric.integer.binary.nim</string>
</dict>
<dict>
<key>comment</key>
<string>A base-10 integer literal</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(\d[_\d]*)('?(([iIuUfF](8|16|32|64))|[uUfFdD]))?</string>
<key>name</key>
<string>constant.numeric.integer.decimal.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Language Constants.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(true|false|inf|nil)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>constant.language.nim</string>
</dict>
<dict>
<key>begin</key>
<string>(?:^|\s+|=)(when|if)\b</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.primary.nim</string>
</dict>
</dict>
<key>comment</key>
<string>Primary branching keywords</string>
<key>end</key>
<string>(?=:)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>control.variable.parameter.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?:^|\s+|=)(case)\b</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.primary.nim</string>
</dict>
</dict>
<key>comment</key>
<string>Primary branching keyword 'case'</string>
<key>end</key>
<string>(?=\bof\b)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>control.variable.parameter.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?:^|\s+)(of|else|elif)\b</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.secondary.nim</string>
</dict>
</dict>
<key>comment</key>
<string>Secondary branching keywords and their conditions</string>
<key>end</key>
<string>(?=:)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>control.variable.parameter.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>comment</key>
<string>Keywords that affect program control flow or scope.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(await|block|break|continue|do|end|except|finally|raise|return|try|while|yield)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Keyword boolean operators for expressions.</string>
<key>match</key>
<string>((?&lt;![\w\x{80}-\x{10FFFF}])(and|in|is|isnot|not|notin|or|xor)(?![\w\x{80}-\x{10FFFF}]))</string>
<key>name</key>
<string>keyword.operator.boolean.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Other keywords.</string>
<key>match</key>
<string>((?&lt;![\w\x{80}-\x{10FFFF}])(addr|as|atomic|bind|cast|const|converter|defer|discard|distinct|div|enum|export|include|let|mixin|object|of|ptr|ref|shl|shr|static|type|var)(?![\w\x{80}-\x{10FFFF}]))</string>
<key>name</key>
<string>keyword.other.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Generic operators for expressions.</string>
<key>match</key>
<string>(\b()\b|(=|\+|-|\*|/|&lt;|&gt;|@|\$|~|&amp;|%|!|\?|\^|\.|:|\\)+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>begin</key>
<string>(for)\s+</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>comment</key>
<string>in keyword in a 'for' loop</string>
<key>end</key>
<string>(?=:)</string>
<key>name</key>
<string>meta.forloop.nim</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>match</key>
<string>\ [\w\x{80}-\x{10FFFF},]+\s+(in)\s+</string>
</dict>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>comment</key>
<string>Import syntax</string>
<key>match</key>
<string>((import)\s+[\.|\w|\/]+,?)</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>match</key>
<string>(from)\s+[\/\w]+\s+(?=import)</string>
</dict>
<dict>
<key>begin</key>
<string>(var|let)\s*\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.other.nim</string>
</dict>
</dict>
<key>comment</key>
<string>Destructure syntax</string>
<key>end</key>
<string>\)</string>
</dict>
<dict>
<key>comment</key>
<string>Invalid and unused keywords.</string>
<key>match</key>
<string>((?&lt;![\w\x{80}-\x{10FFFF}])(generic|interface|lambda|out|shared|with|without)(?![\w\x{80}-\x{10FFFF}]))</string>
<key>name</key>
<string>keyword.invalid.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Common functions</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(new|GC_ref|GC_unref|assert|echo|defined|declared|newException|countup|countdown|len|high|low)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>keyword.other.common.function.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Built-in, concrete types.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(((uint|int|float)(8|16|32|64)?)|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringArray|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>storage.type.concrete.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Built-in, generic types.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(range|array|seq|tuple|natural|set|ref|ptr|pointer)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>storage.type.generic.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Function types</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(proc|iterator|method|template|macro)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Special types.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(openarray|varargs|void)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>storage.type.generic.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Other constants.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])([A-Z][A-Z0-9_]+)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>support.constant.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Other types.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])([A-Z]\w+)(?![\w\x{80}-\x{10FFFF}])</string>
<key>name</key>
<string>support.type.nim</string>
</dict>
<dict>
<key>comment</key>
<string>Function call.</string>
<key>match</key>
<string>(?&lt;![\w\x{80}-\x{10FFFF}])(\w+)(?![\w\x{80}-\x{10FFFF}])(?=\()</string>
<key>name</key>
<string>support.function.any-method.nim</string>
</dict>
<dict>
<key>begin</key>
<string>r?\"\"\"</string>
<key>comment</key>
<string>(Raw) Triple Quoted String</string>
<key>end</key>
<string>\"\"\"[^\"]</string>
<key>name</key>
<string>string.quoted.triple.nim</string>
</dict>
<dict>
<key>begin</key>
<string>r\"</string>
<key>comment</key>
<string>Raw Double Quoted String</string>
<key>end</key>
<string>\"</string>
<key>name</key>
<string>string.quoted.double.raw.nim</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\"\"</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\"</string>
<key>comment</key>
<string>Double Quoted String</string>
<key>end</key>
<string>\"</string>
<key>name</key>
<string>string.quoted.double.nim</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\'</string>
<key>comment</key>
<string>Single quoted character literal</string>
<key>end</key>
<string>\'</string>
<key>name</key>
<string>string.quoted.single.nim</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\n</string>
<key>name</key>
<string>invalid.illegal.character.nim</string>
</dict>
<dict>
<key>include</key>
<string>#escaped_char</string>
</dict>
<dict>
<key>match</key>
<string>([^\'][^\']+?)</string>
<key>name</key>
<string>invalid.illegal.character.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>([\w\x{80}-\x{10FFFF}\`]+)\s*(?=\(|\[.+?\]\s*\()</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.any-method.nim</string>
</dict>
</dict>
<key>comment</key>
<string>Call syntax</string>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.any-method.nim</string>
</dict>
</dict>
<key>comment</key>
<string>Command syntax</string>
<key>match</key>
<string>([\w\x{80}-\x{10FFFF}]+)(?=\s+[\w](?![\w\x{80}-\x{10FFFF}]+((?!\n)\s)+))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.any-method.nim</string>
</dict>
</dict>
<key>match</key>
<string>([\w\x{80}-\x{10FFFF}]+)(?=\s+[\"\'\`])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>comment</key>
<string>tmpl specifier</string>
<key>match</key>
<string>(tmpl(i)?)(?=( (nim|html|xml|js|css|glsl|md))?\"\"\")</string>
</dict>
<dict>
<key>name</key>
<string>source.nim.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(nim)(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\{</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)(for|while|case|of|when|if|else|elif)( )</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\{|\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>plain</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\$)(\$[a-zA-Z0-9_]+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>source.html.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(html)(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\{</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)(for|while|case|of|when|if|else|elif)( )</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\{|\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>plain</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\$)(\$[a-zA-Z0-9_]+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>text.xml</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>source.xml.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(xml)(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\{</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)(for|while|case|of|when|if|else|elif)( )</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\{|\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>plain</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\$)(\$[a-zA-Z0-9_]+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>text.xml</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>source.js.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(js)(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\{</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)(for|while|case|of|when|if|else|elif)( )</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\{|\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>plain</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\$)(\$[a-zA-Z0-9_]+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>source.js</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>source.css.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(css)(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\{</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)(for|while|case|of|when|if|else|elif)( )</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\{|\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>plain</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\$)(\$[a-zA-Z0-9_]+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>source.css</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>source.glsl.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(glsl)(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\{</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)(for|while|case|of|when|if|else|elif)( )</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\{|\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>plain</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\$)(\$[a-zA-Z0-9_]+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>source.glsl</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>source.markdown.embedded.nim</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(md)(\"\"\")</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>end</key>
<string>\"\"\"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>comment.syntax.nim</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\(</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)\{</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
</dict>
<key>end</key>
<string>\}</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?&lt;!\$)(\$)(for|while|case|of|when|if|else|elif)( )</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>keyword.control.nim</string>
</dict>
</dict>
<key>end</key>
<string>(\{|\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>plain</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.nim</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;!\$)(\$[a-zA-Z0-9_]+)</string>
<key>name</key>
<string>keyword.operator.nim</string>
</dict>
<dict>
<key>include</key>
<string>text.html.markdown.multimarkdown</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>repository</key>
<dict>
<key>escaped_char</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\[nN]</string>
<key>name</key>
<string>constant.character.escape.newline.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[cC]|\\[rR]</string>
<key>name</key>
<string>constant.character.escape.carriagereturn.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[lL]</string>
<key>name</key>
<string>constant.character.escape.linefeed.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[fF]</string>
<key>name</key>
<string>constant.character.escape.formfeed.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[tT]</string>
<key>name</key>
<string>constant.character.escape.tabulator.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[vV]</string>
<key>name</key>
<string>constant.character.escape.verticaltabulator.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\\"</string>
<key>name</key>
<string>constant.character.escape.double-quote.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\'</string>
<key>name</key>
<string>constant.character.escape.single-quote.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[0-9]+</string>
<key>name</key>
<string>constant.character.escape.chardecimalvalue.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[aA]</string>
<key>name</key>
<string>constant.character.escape.alert.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[bB]</string>
<key>name</key>
<string>constant.character.escape.backspace.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[eE]</string>
<key>name</key>
<string>constant.character.escape.escape.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\[xX]\h\h</string>
<key>name</key>
<string>constant.character.escape.hex.nim</string>
</dict>
<dict>
<key>match</key>
<string>\\\\</string>
<key>name</key>
<string>constant.character.escape.backslash.nim</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.nim</string>
<key>uuid</key>
<string>fa6f2c1c-dd3f-4bcd-b2be-d05312be4080</string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment