1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.     <key>comment</key>
  6.     <string>Whiskers Syntax: version 0.5</string>
  7.     <key>fileTypes</key>
  8.     <array>
  9.         <string>wtl</string>
  10.     </array>
  11.     <key>foldingStartMarker</key>
  12.     <string>/\*\*(?!\*)|\{\s*($|/\*(?!.*?\*/.*\S))</string>
  13.     <key>foldingStopMarker</key>
  14.     <string>(?&lt;!\*)\*\*/|^\s*\}</string>
  15.     <key>keyEquivalent</key>
  16.     <string>^~W</string>
  17.     <key>name</key>
  18.     <string>Whiskers</string>
  19.     <key>patterns</key>
  20.     <array>
  21.         <dict>
  22.             <key>begin</key>
  23.             <string>(if)(\()([\s\S]*?)(\))(?:\s+|)(\{)</string>
  24.             <key>beginCaptures</key>
  25.             <dict>
  26.                 <key>1</key>
  27.                 <dict>
  28.                     <key>name</key>
  29.                     <string>keyword.control.wtl</string>
  30.                 </dict>
  31.                 <key>2</key>
  32.                 <dict>
  33.                     <key>name</key>
  34.                     <string>meta.brace.round.wtl</string>
  35.                 </dict>
  36.                 <key>4</key>
  37.                 <dict>
  38.                     <key>name</key>
  39.                     <string>meta.brace.round.wtl</string>
  40.                 </dict>
  41.                 <key>5</key>
  42.                 <dict>
  43.                     <key>name</key>
  44.                     <string>meta.brace.curly.wtl</string>
  45.                 </dict>
  46.             </dict>
  47.             <key>end</key>
  48.             <string>\}</string>
  49.             <key>endCaptures</key>
  50.             <dict>
  51.                 <key>0</key>
  52.                 <dict>
  53.                     <key>name</key>
  54.                     <string>meta.brace.curly.wtl</string>
  55.                 </dict>
  56.             </dict>
  57.         </dict>
  58.         <dict>
  59.             <key>begin</key>
  60.             <string>/\*</string>
  61.             <key>captures</key>
  62.             <dict>
  63.                 <key>0</key>
  64.                 <dict>
  65.                     <key>name</key>
  66.                     <string>punctuation.definition.comment.wtl</string>
  67.                 </dict>
  68.             </dict>
  69.             <key>end</key>
  70.             <string>\*/</string>
  71.             <key>name</key>
  72.             <string>comment.block.wtl</string>
  73.         </dict>
  74.         <dict>
  75.             <key>captures</key>
  76.             <dict>
  77.                 <key>1</key>
  78.                 <dict>
  79.                     <key>name</key>
  80.                     <string>punctuation.definition.comment.wtl</string>
  81.                 </dict>
  82.             </dict>
  83.             <key>match</key>
  84.             <string>(?&lt;!http:)(//).*$\n?</string>
  85.             <key>name</key>
  86.             <string>comment.line.double-slash.wtl</string>
  87.         </dict>
  88.         <dict>
  89.             <key>captures</key>
  90.             <dict>
  91.                 <key>1</key>
  92.                 <dict>
  93.                     <key>name</key>
  94.                     <string>punctuation.definition.entity.wtl</string>
  95.                 </dict>
  96.             </dict>
  97.             <key>match</key>
  98.             <string>(\`)[a-zA-Z0-9_-]+</string>
  99.             <key>name</key>
  100.             <string>entity.other.attribute-name.template.wtl</string>
  101.         </dict>
  102.         <dict>
  103.             <key>captures</key>
  104.             <dict>
  105.                 <key>1</key>
  106.                 <dict>
  107.                     <key>name</key>
  108.                     <string>punctuation.definition.entity.wtl</string>
  109.                 </dict>
  110.             </dict>
  111.             <key>match</key>
  112.             <string>(%)[a-zA-Z0-9_-]+</string>
  113.             <key>name</key>
  114.             <string>entity.other.attribute-name.variable.wtl</string>
  115.         </dict>
  116.         <dict>
  117.             <key>begin</key>
  118.             <string>(\%)([a-zA-Z0-9_-]+)(?:\s+|)(\{)</string>
  119.             <key>beginCaptures</key>
  120.             <dict>
  121.                 <key>1</key>
  122.                 <dict>
  123.                     <key>name</key>
  124.                     <string>punctuation.definition.entity.wtl</string>
  125.                 </dict>
  126.                 <key>2</key>
  127.                 <dict>
  128.                     <key>name</key>
  129.                     <string>punctuation.attribute-name.variable.wtl</string>
  130.                 </dict>
  131.                 <key>3</key>
  132.                 <dict>
  133.                     <key>name</key>
  134.                     <string>meta.brace.curly.wtl</string>
  135.                 </dict>
  136.             </dict>
  137.             <key>end</key>
  138.             <string>\}</string>
  139.             <key>endCaptures</key>
  140.             <dict>
  141.                 <key>0</key>
  142.                 <dict>
  143.                     <key>name</key>
  144.                     <string>meta.brace.curly.wtl</string>
  145.                 </dict>
  146.             </dict>
  147.         </dict>
  148.         <dict>
  149.             <key>begin</key>
  150.             <string>(`)([a-zA-Z0-9_-]+)(?:\s+|)(\{)</string>
  151.             <key>beginCaptures</key>
  152.             <dict>
  153.                 <key>1</key>
  154.                 <dict>
  155.                     <key>name</key>
  156.                     <string>punctuation.definition.entity.wtl</string>
  157.                 </dict>
  158.                 <key>2</key>
  159.                 <dict>
  160.                     <key>name</key>
  161.                     <string>punctuation.attribute-name.template.wtl</string>
  162.                 </dict>
  163.                 <key>4</key>
  164.                 <dict>
  165.                     <key>name</key>
  166.                     <string>meta.brace.curly.wtl</string>
  167.                 </dict>
  168.             </dict>
  169.             <key>end</key>
  170.             <string>\}</string>
  171.             <key>endCaptures</key>
  172.             <dict>
  173.                 <key>0</key>
  174.                 <dict>
  175.                     <key>name</key>
  176.                     <string>meta.brace.curly.wtl</string>
  177.                 </dict>
  178.             </dict>
  179.         </dict>
  180.     </array>
  181.     <key>scopeName</key>
  182.     <string>source.wtl</string>
  183.     <key>uuid</key>
  184.     <string>c0cba142-1c79-44ea-9237-ce00e51ae73b</string>
  185. </dict>
  186. </plist>