Skip to content
Browse files

And now, for something completely different... an Erlang bundle, comp…

…lete with useful snippets and macros. Hopefully, I'll get some feedback on this.

git-svn-id: http://svn.textmate.org/trunk/Bundles/Erlang.tmbundle@4903 dfb7d73b-c2ec-0310-8fea-fb051d288c6d
  • Loading branch information...
0 parents commit 879e74b365b9b484f213f161595b1225f8154941 @mietek mietek committed Aug 23, 2006
Showing with 3,304 additions and 0 deletions.
  1. +57 −0 Macros/Case:Receive:Try Clause.tmMacro
  2. +29 −0 Macros/Expression End.tmMacro
  3. +57 −0 Macros/Fun Clause.tmMacro
  4. +57 −0 Macros/Function Clause.tmMacro
  5. +45 −0 Macros/Function End.tmMacro
  6. +57 −0 Macros/If Clause.tmMacro
  7. +19 −0 Preferences/Function Symbols.plist
  8. +19 −0 Preferences/Indentation Rules.tmPreferences
  9. +19 −0 Preferences/Macro Symbols.plist
  10. +19 −0 Preferences/Module Symbols.plist
  11. +19 −0 Preferences/Record Symbols.plist
  12. +17 −0 Preferences/Symbol Overrides.plist
  13. +15 −0 Snippets/(Case:Receive:Try Clause).tmSnippet
  14. +15 −0 Snippets/(Fun Clause).tmSnippet
  15. +15 −0 Snippets/(Function Clause).tmSnippet
  16. +15 −0 Snippets/(If Clause).tmSnippet
  17. +18 −0 Snippets/Begin Expression.tmSnippet
  18. +19 −0 Snippets/Case Expression.tmSnippet
  19. +16 −0 Snippets/Define Directive.tmSnippet
  20. +16 −0 Snippets/Export Directive.tmSnippet
  21. +18 −0 Snippets/Field & Value.tmSnippet
  22. +19 −0 Snippets/Fun Expression.tmSnippet
  23. +18 −0 Snippets/Function & Arity.tmSnippet
  24. +19 −0 Snippets/Function.tmSnippet
  25. +19 −0 Snippets/If Expression.tmSnippet
  26. +16 −0 Snippets/Ifdef Directive.tmSnippet
  27. +16 −0 Snippets/Ifndef Directive.tmSnippet
  28. +16 −0 Snippets/Import Directive.tmSnippet
  29. +16 −0 Snippets/Module Directive.tmSnippet
  30. +18 −0 Snippets/Parameter.tmSnippet
  31. +22 −0 Snippets/Receive Expression.tmSnippet
  32. +16 −0 Snippets/Record Directive.tmSnippet
  33. +24 −0 Snippets/Try Expression.tmSnippet
  34. +16 −0 Snippets/Undef Directive.tmSnippet
  35. +2,384 −0 Syntaxes/Erlang.plist
  36. +124 −0 info.plist
57 Macros/Case:Receive:Try Clause.tmMacro
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>commands</key>
+ <array>
+ <dict>
+ <key>argument</key>
+ <string>;</string>
+ <key>command</key>
+ <string>insertText:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>insertNewline:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToBeginningOfLine:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>shiftLeft:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToEndOfLine:</string>
+ </dict>
+ <dict>
+ <key>argument</key>
+ <dict>
+ <key>content</key>
+ <string>${2:pattern}${3: when ${4:guard}} -&gt;
+ ${5:body}</string>
+ <key>name</key>
+ <string>Case/Receive/Try Clause</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>756D50E8-C3E9-4ACD-B246-031E4D91D807</string>
+ </dict>
+ <key>command</key>
+ <string>insertSnippetWithOptions:</string>
+ </dict>
+ </array>
+ <key>keyEquivalent</key>
+ <string>^;</string>
+ <key>name</key>
+ <string>Case/Receive/Try Clause</string>
+ <key>scope</key>
+ <string>source.erlang meta.expression.case, source.erlang meta.expression.receive, source.erlang meta.expression.try</string>
+ <key>tabTrigger</key>
+ <string>;</string>
+ <key>uuid</key>
+ <string>0DA5DAB0-5568-42F9-979A-B18C5D73E623</string>
+</dict>
+</plist>
29 Macros/Expression End.tmMacro
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>commands</key>
+ <array>
+ <dict>
+ <key>argument</key>
+ <string>,</string>
+ <key>command</key>
+ <string>insertText:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>insertNewline:</string>
+ </dict>
+ </array>
+ <key>keyEquivalent</key>
+ <string>^,</string>
+ <key>name</key>
+ <string>Expression End</string>
+ <key>scope</key>
+ <string>source.erlang meta.function.clause.body, source.erlang meta.expression.begin</string>
+ <key>tabTrigger</key>
+ <string>,</string>
+ <key>uuid</key>
+ <string>8287064B-7AF9-4B1C-BBF5-49A62A178D42</string>
+</dict>
+</plist>
57 Macros/Fun Clause.tmMacro
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>commands</key>
+ <array>
+ <dict>
+ <key>argument</key>
+ <string>;</string>
+ <key>command</key>
+ <string>insertText:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>insertNewline:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToBeginningOfLine:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>shiftLeft:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToEndOfLine:</string>
+ </dict>
+ <dict>
+ <key>argument</key>
+ <dict>
+ <key>content</key>
+ <string>(${1:pattern})${2: when ${3:guard}} -&gt;
+ ${4:body}</string>
+ <key>name</key>
+ <string>Fun Clause</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>15DF3174-A8CD-40DA-BE74-B991425BA9EB</string>
+ </dict>
+ <key>command</key>
+ <string>insertSnippetWithOptions:</string>
+ </dict>
+ </array>
+ <key>keyEquivalent</key>
+ <string>^;</string>
+ <key>name</key>
+ <string>Fun Clause</string>
+ <key>scope</key>
+ <string>source.erlang meta.expression.fun</string>
+ <key>tabTrigger</key>
+ <string>;</string>
+ <key>uuid</key>
+ <string>8B7CA36F-1BE9-4A98-A291-A8082B28EB75</string>
+</dict>
+</plist>
57 Macros/Function Clause.tmMacro
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>commands</key>
+ <array>
+ <dict>
+ <key>argument</key>
+ <string>;</string>
+ <key>command</key>
+ <string>insertText:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>insertNewline:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToBeginningOfLine:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>shiftLeft:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToEndOfLine:</string>
+ </dict>
+ <dict>
+ <key>argument</key>
+ <dict>
+ <key>content</key>
+ <string>${1:function} (${2:param})${3: when ${4:guard}} -&gt;
+ ${5:body}</string>
+ <key>name</key>
+ <string>Function Clause</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>AF80483E-996B-44E8-A76D-8CD7AA3CDB8B</string>
+ </dict>
+ <key>command</key>
+ <string>insertSnippetWithOptions:</string>
+ </dict>
+ </array>
+ <key>keyEquivalent</key>
+ <string>^;</string>
+ <key>name</key>
+ <string>Function Clause</string>
+ <key>scope</key>
+ <string>source.erlang meta.function</string>
+ <key>tabTrigger</key>
+ <string>;</string>
+ <key>uuid</key>
+ <string>BDA759D0-BAC8-4289-864D-B3CFA1954887</string>
+</dict>
+</plist>
45 Macros/Function End.tmMacro
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>commands</key>
+ <array>
+ <dict>
+ <key>argument</key>
+ <string>.</string>
+ <key>command</key>
+ <string>insertText:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>insertNewline:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToBeginningOfLine:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>shiftLeft:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToEndOfLine:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>insertNewline:</string>
+ </dict>
+ </array>
+ <key>keyEquivalent</key>
+ <string>^.</string>
+ <key>name</key>
+ <string>Function End</string>
+ <key>scope</key>
+ <string>source.erlang meta.function</string>
+ <key>tabTrigger</key>
+ <string>.</string>
+ <key>uuid</key>
+ <string>73107C75-0457-4CD2-9934-3AF84084AA57</string>
+</dict>
+</plist>
57 Macros/If Clause.tmMacro
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>commands</key>
+ <array>
+ <dict>
+ <key>argument</key>
+ <string>;</string>
+ <key>command</key>
+ <string>insertText:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>insertNewline:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToBeginningOfLine:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>shiftLeft:</string>
+ </dict>
+ <dict>
+ <key>command</key>
+ <string>moveToEndOfLine:</string>
+ </dict>
+ <dict>
+ <key>argument</key>
+ <dict>
+ <key>content</key>
+ <string>${1:guard} -&gt;
+ ${2:body}</string>
+ <key>name</key>
+ <string>If Clause</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>0DD90D8B-3DE0-4A8B-BA82-737375D4E5CB</string>
+ </dict>
+ <key>command</key>
+ <string>insertSnippetWithOptions:</string>
+ </dict>
+ </array>
+ <key>keyEquivalent</key>
+ <string>^;</string>
+ <key>name</key>
+ <string>If Clause</string>
+ <key>scope</key>
+ <string>source.erlang meta.expression.if</string>
+ <key>tabTrigger</key>
+ <string>;</string>
+ <key>uuid</key>
+ <string>DEDE2408-2456-4D1C-A288-3E2809175CF6</string>
+</dict>
+</plist>
19 Preferences/Function Symbols.plist
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Function Symbols</string>
+ <key>scope</key>
+ <string>source.erlang entity.name.function.definition</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>1</integer>
+ <key>symbolTransformation</key>
+ <string>s,$,/,</string>
+ </dict>
+ <key>uuid</key>
+ <string>7D7FE91B-0543-4F95-8D99-AF393226415C</string>
+</dict>
+</plist>
19 Preferences/Indentation Rules.tmPreferences
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Indentation Rules</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>settings</key>
+ <dict>
+ <key>decreaseIndentPattern</key>
+ <string>^\s*\b(end)\b</string>
+ <key>increaseIndentPattern</key>
+ <string>(\b(if|case|receive|after|fun|try|catch|begin|query)\b(?!.*\b(end)\b.*))|(-&gt;(\s*%.*)?$)</string>
+ </dict>
+ <key>uuid</key>
+ <string>34E0D602-ADAE-43F9-A661-0323A821AB75</string>
+</dict>
+</plist>
19 Preferences/Macro Symbols.plist
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Macro Symbols</string>
+ <key>scope</key>
+ <string>source.erlang entity.name.function.macro.definition</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>1</integer>
+ <key>symbolTransformation</key>
+ <string>s/^/?/</string>
+ </dict>
+ <key>uuid</key>
+ <string>5EEC72E3-EEA9-4C53-8D70-3903EF1D84E2</string>
+</dict>
+</plist>
19 Preferences/Module Symbols.plist
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Module Symbols</string>
+ <key>scope</key>
+ <string>source.erlang entity.name.type.class.module.definition.erlang</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>1</integer>
+ <key>symbolTransformation</key>
+ <string>s/^/-/</string>
+ </dict>
+ <key>uuid</key>
+ <string>1250456F-9F83-4BAA-B338-5C9E86E89DD9</string>
+</dict>
+</plist>
19 Preferences/Record Symbols.plist
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Record Symbols</string>
+ <key>scope</key>
+ <string>source.erlang entity.name.type.record.definition</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>1</integer>
+ <key>symbolTransformation</key>
+ <string>s/^/#/</string>
+ </dict>
+ <key>uuid</key>
+ <string>31DB728C-AC89-4DF0-A2B9-9D3D3A7552A9</string>
+</dict>
+</plist>
17 Preferences/Symbol Overrides.plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Symbol Overrides</string>
+ <key>scope</key>
+ <string>source.erlang entity.name.function, source.erlang entity.name.type</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <string>0</string>
+ </dict>
+ <key>uuid</key>
+ <string>AE84FFDF-2D5A-4331-A301-6CF34CF26CD8</string>
+</dict>
+</plist>
15 Snippets/(Case:Receive:Try Clause).tmSnippet
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${2:pattern}${3: when ${4:guard}} -&gt;
+ ${5:body}</string>
+ <key>name</key>
+ <string>(Case/Receive/Try Clause)</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>756D50E8-C3E9-4ACD-B246-031E4D91D807</string>
+</dict>
+</plist>
15 Snippets/(Fun Clause).tmSnippet
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>(${1:pattern})${2: when ${3:guard}} -&gt;
+ ${4:body}</string>
+ <key>name</key>
+ <string>(Fun Clause)</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>15DF3174-A8CD-40DA-BE74-B991425BA9EB</string>
+</dict>
+</plist>
15 Snippets/(Function Clause).tmSnippet
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:function} (${2:param})${3: when ${4:guard}} -&gt;
+ ${5:body}</string>
+ <key>name</key>
+ <string>(Function Clause)</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>AF80483E-996B-44E8-A76D-8CD7AA3CDB8B</string>
+</dict>
+</plist>
15 Snippets/(If Clause).tmSnippet
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:guard} -&gt;
+ ${2:body}</string>
+ <key>name</key>
+ <string>(If Clause)</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>uuid</key>
+ <string>0DD90D8B-3DE0-4A8B-BA82-737375D4E5CB</string>
+</dict>
+</plist>
18 Snippets/Begin Expression.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>begin
+ ${1:body}
+end</string>
+ <key>name</key>
+ <string>Begin Expression</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>beg</string>
+ <key>uuid</key>
+ <string>AC6A7A0A-9D28-42F2-A622-9EB7BF74F0B4</string>
+</dict>
+</plist>
19 Snippets/Case Expression.tmSnippet
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>case ${1:expression} of
+ ${2:pattern}${3: when ${4:guard}} -&gt;
+ ${5:body}
+end</string>
+ <key>name</key>
+ <string>Case Expression</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>case</string>
+ <key>uuid</key>
+ <string>E6AD8350-0670-42D8-9E1C-8F0853B23DE1</string>
+</dict>
+</plist>
16 Snippets/Define Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-define (${1:macro}${2: (${3:param})}, ${4:body}).</string>
+ <key>name</key>
+ <string>Define Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>def</string>
+ <key>uuid</key>
+ <string>307A33A1-CA17-4BF6-BE38-0C749055F711</string>
+</dict>
+</plist>
16 Snippets/Export Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-export ([${1:function}/${2:arity}]).</string>
+ <key>name</key>
+ <string>Export Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>exp</string>
+ <key>uuid</key>
+ <string>A3AF4B3B-A3F0-4501-B7A2-9F22AE51DAC5</string>
+</dict>
+</plist>
18 Snippets/Field & Value.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>, ${1:field}${2: = ${3:value}}</string>
+ <key>keyEquivalent</key>
+ <string>^,</string>
+ <key>name</key>
+ <string>Field &amp; Value</string>
+ <key>scope</key>
+ <string>source.erlang meta.structure.record</string>
+ <key>tabTrigger</key>
+ <string>,</string>
+ <key>uuid</key>
+ <string>2842C13E-C4F3-4DD4-86CE-C008A0AA461D</string>
+</dict>
+</plist>
19 Snippets/Fun Expression.tmSnippet
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>fun
+ (${1:pattern})${2: when ${3:guard}} -&gt;
+ ${4:body}
+end</string>
+ <key>name</key>
+ <string>Fun Expression</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>fun</string>
+ <key>uuid</key>
+ <string>44772708-584C-4357-926E-50DDFBFF66C0</string>
+</dict>
+</plist>
18 Snippets/Function & Arity.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>, ${1:function}/${2:arity}</string>
+ <key>keyEquivalent</key>
+ <string>^,</string>
+ <key>name</key>
+ <string>Function &amp; Arity</string>
+ <key>scope</key>
+ <string>source.erlang meta.structure.list.function</string>
+ <key>tabTrigger</key>
+ <string>,</string>
+ <key>uuid</key>
+ <string>BF4EBA8B-65B6-40A5-B8BA-64B7EC13F40B</string>
+</dict>
+</plist>
19 Snippets/Function.tmSnippet
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:function} (${2:param})${3: when ${4:guard}} -&gt;
+ ${5:body}</string>
+ <key>keyEquivalent</key>
+ <string>^f</string>
+ <key>name</key>
+ <string>Function</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>f</string>
+ <key>uuid</key>
+ <string>C7FAC8F8-F843-4F5B-8FE4-217ECEF1E543</string>
+</dict>
+</plist>
19 Snippets/If Expression.tmSnippet
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>if
+ ${1:guard} -&gt;
+ ${2:body}
+end</string>
+ <key>name</key>
+ <string>If Expression</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>if</string>
+ <key>uuid</key>
+ <string>868B3F48-6567-43BD-ABA1-54718DCBDE5E</string>
+</dict>
+</plist>
16 Snippets/Ifdef Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-ifdef (${1:macro}).</string>
+ <key>name</key>
+ <string>Ifdef Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>ifdef</string>
+ <key>uuid</key>
+ <string>780100D7-AF4F-440D-B3E9-1B4603B5984F</string>
+</dict>
+</plist>
16 Snippets/Ifndef Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-ifndef (${1:macro}).</string>
+ <key>name</key>
+ <string>Ifndef Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>ifndef</string>
+ <key>uuid</key>
+ <string>A30E3888-8EA6-4DD9-BE1C-97BDBF5E09A5</string>
+</dict>
+</plist>
16 Snippets/Import Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-import (${1:module}, [${2:function}/${3:arity}]).</string>
+ <key>name</key>
+ <string>Import Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>imp</string>
+ <key>uuid</key>
+ <string>E06CB3C5-2202-4BA7-B651-21B437427BA3</string>
+</dict>
+</plist>
16 Snippets/Module Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-module (${1:module}).</string>
+ <key>name</key>
+ <string>Module Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>mod</string>
+ <key>uuid</key>
+ <string>C27C322E-0E88-4404-9AD1-218D7617CF14</string>
+</dict>
+</plist>
18 Snippets/Parameter.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>, ${1:param}</string>
+ <key>keyEquivalent</key>
+ <string>^,</string>
+ <key>name</key>
+ <string>Parameter</string>
+ <key>scope</key>
+ <string>source.erlang meta.parameter-sequence</string>
+ <key>tabTrigger</key>
+ <string>,</string>
+ <key>uuid</key>
+ <string>7131A00F-3A20-4A63-BE31-E2416A66959A</string>
+</dict>
+</plist>
22 Snippets/Receive Expression.tmSnippet
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>receive
+${1: ${2:pattern}${3: when ${4:guard}} -&gt;
+ ${5:body}
+}${6:after
+ ${7:expression} -&gt;
+ ${8:body}
+}end</string>
+ <key>name</key>
+ <string>Receive Expression</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>rcv</string>
+ <key>uuid</key>
+ <string>26D57EA7-1098-419B-B96C-8B90CCC57654</string>
+</dict>
+</plist>
16 Snippets/Record Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-record (${1:record}, {${2:field}${3: = ${4:value}}}).</string>
+ <key>name</key>
+ <string>Record Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>rec</string>
+ <key>uuid</key>
+ <string>43C66E91-F2C4-4E42-AF8E-21C1DB6401A2</string>
+</dict>
+</plist>
24 Snippets/Try Expression.tmSnippet
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>try${1: ${2:expression}${3: of
+ ${4:pattern}${5: when ${6:guard}} -&gt;
+ ${7:body}}}
+${8:catch
+ ${9:pattern}${10: when ${11:guard}} -&gt;
+ ${12:body}}
+${13:after
+ ${14:body}}
+end</string>
+ <key>name</key>
+ <string>Try Expression</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>try</string>
+ <key>uuid</key>
+ <string>5815443C-4D02-4B76-85FF-9B745386F2A1</string>
+</dict>
+</plist>
16 Snippets/Undef Directive.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>-undef (${1:macro}).</string>
+ <key>name</key>
+ <string>Undef Directive</string>
+ <key>scope</key>
+ <string>source.erlang</string>
+ <key>tabTrigger</key>
+ <string>undef</string>
+ <key>uuid</key>
+ <string>13BB91B4-FF8A-49E1-8960-3EC352613482</string>
+</dict>
+</plist>
2,384 Syntaxes/Erlang.plist
@@ -0,0 +1,2384 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>comment</key>
+ <string>The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp</string>
+ <key>fileTypes</key>
+ <array>
+ <string>erl</string>
+ <string>hrl</string>
+ </array>
+ <key>keyEquivalent</key>
+ <string>^~E</string>
+ <key>name</key>
+ <string>Erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#module-directive</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#import-export-directive</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#record-directive</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#define-directive</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#macro-directive</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#directive</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#function</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ <key>repository</key>
+ <dict>
+ <key>atom</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(')</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(')</string>
+ <key>name</key>
+ <string>constant.other.symbol.quoted.single.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>\\([bdefnrstv\\'"]|\^[@-_]|[0-7]{1,3})</string>
+ <key>name</key>
+ <string>constant.other.symbol.escape.erlang</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\\\^?.?</string>
+ <key>name</key>
+ <string>invalid.illegal.atom.erlang</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>[a-z][a-zA-Z\d@_]*</string>
+ <key>name</key>
+ <string>constant.other.symbol.unquoted.erlang</string>
+ </dict>
+ </array>
+ </dict>
+ <key>binary</key>
+ <dict>
+ <key>begin</key>
+ <string>(&lt;&lt;)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(&gt;&gt;)</string>
+ <key>name</key>
+ <string>meta.structure.binary.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-type-specifiers</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>character</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>constant.character.escape.erlang</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(\$)(\\([bdefnrstv\\'"]|\^[@-_]|[0-7]{1,3}))</string>
+ <key>name</key>
+ <string>constant.character.erlang</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\$\\\^?.?</string>
+ <key>name</key>
+ <string>invalid.illegal.character.erlang</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>(\$)\S</string>
+ <key>name</key>
+ <string>constant.character.erlang</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\$.?</string>
+ <key>name</key>
+ <string>invalid.illegal.character.erlang</string>
+ </dict>
+ </array>
+ </dict>
+ <key>comment</key>
+ <dict>
+ <key>begin</key>
+ <string>%</string>
+ <key>end</key>
+ <string>$\n</string>
+ <key>name</key>
+ <string>comment.line.erlang</string>
+ </dict>
+ <key>define-directive</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(-)\s*(define)\s*(\()\s*([a-zA-Z\d@_]+)\s*(?=\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.define.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.macro.definition.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))\s*(\.)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.directive.define.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-parameter-sequence</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(-)\s*(define)\s*(\()\s*([a-zA-Z\d@_]+)\s*(,)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.define.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.macro.definition.erlang</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))\s*(\.)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.directive.define.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <key>directive</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(-)\s*([a-z][a-zA-Z\d@_]*)\s*(\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))\s*(\.)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.directive.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>^\s*(-)\s*([a-z][a-zA-Z\d@_]*)\s*(\.)</string>
+ <key>name</key>
+ <string>meta.directive.erlang</string>
+ </dict>
+ </array>
+ </dict>
+ <key>everything-else</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#comment</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#record-usage</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#macro-usage</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#expression</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#keyword</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#textual-operator</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#function-call</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#tuple</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#list</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#binary</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#character</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#number</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#atom</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#string</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#variable</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#punctuation</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#symbolic-operator</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>\S</string>
+ <key>name</key>
+ <string>invalid.illegal.erlang</string>
+ </dict>
+ </array>
+ </dict>
+ <key>expression</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>\b(if)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.if.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\b(end)\b</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.end.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.expression.if.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\b(case)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.case.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\b(end)\b</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.end.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.expression.case.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\b(receive)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.receive.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\b(end)\b</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.end.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.expression.receive.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\b(fun)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.fun.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\b(end)\b</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.end.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.expression.fun.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-fun-clause</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\b(try)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.try.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\b(end)\b</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.end.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.expression.try.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\b(begin)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.begin.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\b(end)\b</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.end.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.expression.begin.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>\b(query)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.query.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>\b(end)\b</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.end.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.expression.query.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <key>function</key>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(?=[a-z][a-zA-Z\d@_]*\s*\()</string>
+ <key>end</key>
+ <string>(\.)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.function.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-initial-function-clause</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#internal-function-clause</string>
+ </dict>
+ </array>
+ </dict>
+ <key>function-call</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>((erlang)\s*(:)\s*)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\s*(\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.type.class.module.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.guard.erlang</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.function-call.guard.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>(([a-z][a-zA-Z\d@_]*)\s*(:)\s*)?([a-z][a-zA-Z\d@_]*)\s*(\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.type.class.module.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.erlang</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.function-call.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <key>import-export-directive</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(-)\s*(import)\s*(\()\s*([a-z][a-zA-Z\d@_]*)\s*(,)\s*(?=\[)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.import.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.type.class.module.erlang</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))\s*(\.)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.directive.import.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-function-list</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>begin</key>
+ <string>^\s*(-)\s*(export)\s*(\()\s*(?=\[)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.export.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))\s*(\.)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.directive.export.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-function-list</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-fun-clause</key>
+ <dict>
+ <key>begin</key>
+ <string>(?=\()</string>
+ <key>end</key>
+ <string>(;)|(?=\bend\b)</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>name</key>
+ <string>meta.fun.clause.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-fun-clause-head</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#internal-fun-clause-body</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-fun-clause-body</key>
+ <dict>
+ <key>begin</key>
+ <string>(-&gt;)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.fun.clause.body.erlang</string>
+ <key>end</key>
+ <string>(?=;|\bend\b)</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-fun-clause-head</key>
+ <dict>
+ <key>begin</key>
+ <string>(?=\()</string>
+ <key>end</key>
+ <string>(?=-&gt;|;|\bend\b)</string>
+ <key>name</key>
+ <string>meta.fun.clause.head.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-parameter-sequence</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#internal-guard-sequence</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-function-clause</key>
+ <dict>
+ <key>begin</key>
+ <string>(;)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=[;\.])</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(?=[a-z][a-zA-Z\d@_]*\s*\()</string>
+ <key>end</key>
+ <string>(?=[;\.])</string>
+ <key>name</key>
+ <string>meta.function.clause.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-function-clause-head</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#internal-function-clause-body</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-function-clause-body</key>
+ <dict>
+ <key>begin</key>
+ <string>(-&gt;)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.function.clause.body.erlang</string>
+ <key>end</key>
+ <string>(?=[;\.])</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-function-clause-head</key>
+ <dict>
+ <key>begin</key>
+ <string>([a-z][a-zA-Z\d@_]*)\s*(?=\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=-&gt;|[;\.])</string>
+ <key>name</key>
+ <string>meta.function.clause.head.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-parameter-sequence</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#internal-guard-sequence</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-function-list</key>
+ <dict>
+ <key>begin</key>
+ <string>(\[)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\])</string>
+ <key>name</key>
+ <string>meta.structure.list.function.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>([a-z][a-zA-Z\d@_]*)\s*(/)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(,)|(?=\])</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-guard-sequence</key>
+ <dict>
+ <key>begin</key>
+ <string>\b(when)\b</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.when.erlang</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.guard-sequence.erlang</string>
+ <key>end</key>
+ <string>(?=-&gt;|\.)</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-initial-function-clause</key>
+ <dict>
+ <key>begin</key>
+ <string>(?=[a-z][a-zA-Z\d@_]*\s*\()</string>
+ <key>end</key>
+ <string>(?=[;\.])</string>
+ <key>name</key>
+ <string>meta.function.clause.initial.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-initial-function-clause-head</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#internal-initial-function-clause-body</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-initial-function-clause-body</key>
+ <dict>
+ <key>begin</key>
+ <string>(-&gt;)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>contentName</key>
+ <string>meta.function.clause.body.initial.erlang</string>
+ <key>end</key>
+ <string>(?=[;\.])</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-initial-function-clause-head</key>
+ <dict>
+ <key>begin</key>
+ <string>([a-z][a-zA-Z\d@_]*)\s*(?=\()</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.definition.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=-&gt;|[;\.])</string>
+ <key>name</key>
+ <string>meta.function.clause.head.initial.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#internal-parameter-sequence</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#internal-guard-sequence</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-parameter-sequence</key>
+ <dict>
+ <key>begin</key>
+ <string>(\()</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\))</string>
+ <key>name</key>
+ <string>meta.parameter-sequence.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-record-body</key>
+ <dict>
+ <key>begin</key>
+ <string>(\{)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=\})</string>
+ <key>name</key>
+ <string>meta.structure.record.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>begin</key>
+ <string>(([a-z][a-zA-Z\d@_]*)|(_))\s*(=)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.field.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>variable.language.omitted.field.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(,)|(?=\})</string>
+ <key>endCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>variable.other.field.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>([a-z][a-zA-Z\d@_]*)\s*((,)|(?=\}))</string>
+ </dict>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>internal-type-specifiers</key>
+ <dict>
+ <key>begin</key>
+ <string>(/)</string>
+ <key>beginCaptures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(?=,|:|&gt;&gt;)</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>match</key>
+ <string>integer|float|binary</string>
+ <key>name</key>
+ <string>storage.type.erlang</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>signed|unsigned</string>
+ <key>name</key>
+ <string>storage.modifier.signedness.erlang</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>big|little|native</string>
+ <key>name</key>
+ <string>storage.modifier.endianness.erlang</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>unit</string>
+ <key>name</key>
+ <string>storage.modifier.unit.erlang</string>
+ </dict>
+ <dict>
+ <key>match</key>
+ <string>-</string>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </array>
+ </dict>
+ <key>keyword</key>
+ <dict>
+ <key>match</key>
+ <string>\b(after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\b</string>
+ <key>name</key>
+ <string>keyword.control.erlang</string>
+ </dict>
+ <key>list</key>
+ <dict>
+ <key>begin</key>
+ <string>(\[)</string>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>end</key>
+ <string>(\])</string>
+ <key>name</key>
+ <string>meta.structure.list.erlang</string>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>include</key>
+ <string>#everything-else</string>
+ </dict>
+ </array>
+ </dict>
+ <key>macro-directive</key>
+ <dict>
+ <key>patterns</key>
+ <array>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.ifdef.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.macro.erlang</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>^\s*(-)\s*(ifdef)\s*(\()\s*([a-zA-z\d@_]+)\s*(\))\s*(\.)</string>
+ <key>name</key>
+ <string>meta.directive.ifdef.erlang</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.ifndef.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>4</key>
+ <dict>
+ <key>name</key>
+ <string>entity.name.function.macro.erlang</string>
+ </dict>
+ <key>5</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>6</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ </dict>
+ <key>match</key>
+ <string>^\s*(-)\s*(ifndef)\s*(\()\s*([a-zA-z\d@_]+)\s*(\))\s*(\.)</string>
+ <key>name</key>
+ <string>meta.directive.ifndef.erlang</string>
+ </dict>
+ <dict>
+ <key>captures</key>
+ <dict>
+ <key>1</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>
+ <key>2</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.control.directive.undef.erlang</string>
+ </dict>
+ <key>3</key>
+ <dict>
+ <key>name</key>
+ <string>keyword.operator.punctuation.erlang</string>
+ </dict>