]> git.r.bdr.sh - rbdr/api-notation.vscode/blobdiff - syntaxes/api-notation.tmLanguage
Merge branch 'feature/rbdr-initial-development' into develop
[rbdr/api-notation.vscode] / syntaxes / api-notation.tmLanguage
diff --git a/syntaxes/api-notation.tmLanguage b/syntaxes/api-notation.tmLanguage
new file mode 100644 (file)
index 0000000..e546929
--- /dev/null
@@ -0,0 +1,217 @@
+<?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>api</string>
+       </array>
+       <key>name</key>
+       <string>API Notation</string>
+       <key>patterns</key>
+       <array>
+               <dict>
+                       <key>begin</key>
+                       <string>([a-zA-Z0-9_.]+)</string>
+                       <key>end</key>
+                       <string>\n</string>
+                       <key>name</key>
+                       <string>constant.language</string>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#dataTypes</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#comment</string>
+                               </dict>
+                       </array>
+               </dict>
+               <dict>
+                       <key>begin</key>
+                       <string>^//.*</string>
+                       <key>end</key>
+                       <string>\n</string>
+                       <key>name</key>
+                       <string>comment.line</string>
+               </dict>
+               <dict>
+                       <key>begin</key>
+                       <string>[ \t]+</string>
+                       <key>end</key>
+                       <string>\n</string>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#apiMember</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#parameterList</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#dataTypes</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#operators</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#parameters</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#comment</string>
+                               </dict>
+                       </array>
+               </dict>
+               <dict>
+                       <key>begin</key>
+                       <string>^.</string>
+                       <key>end</key>
+                       <string>\n</string>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#comment</string>
+                               </dict>
+                       </array>
+               </dict>
+       </array>
+       <key>repository</key>
+       <dict>
+               <key>apiMember</key>
+               <dict>
+                       <key>captures</key>
+                       <dict>
+                               <key>1</key>
+                               <dict>
+                                       <key>name</key>
+                                       <string>keyword.control</string>
+                               </dict>
+                               <key>2</key>
+                               <dict>
+                                       <key>name</key>
+                                       <string>variable.language</string>
+                               </dict>
+                       </dict>
+                       <key>match</key>
+                       <string>((?:&lt;\+)|(?:&lt;\~)|(?:&lt;\-)|(?:\+&gt;)|(?:\~&gt;)|(?:\-&gt;)|\-|\+|(?:::)|#)([a-zA-z0-9_]+)</string>
+               </dict>
+               <key>comment</key>
+               <dict>
+                       <key>match</key>
+                       <string>[ \t]*//[ \t]*.*</string>
+                       <key>name</key>
+                       <string>comment.line</string>
+               </dict>
+               <key>dataType</key>
+               <dict>
+                       <key>match</key>
+                       <string>[a-zA-Z0-9_.]+</string>
+                       <key>name</key>
+                       <string>support.function</string>
+               </dict>
+               <key>dataTypes</key>
+               <dict>
+                       <key>begin</key>
+                       <string>\&lt;</string>
+                       <key>end</key>
+                       <string>\&gt;</string>
+                       <key>name</key>
+                       <string>keyword.operator</string>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#dataType</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#separators</string>
+                               </dict>
+                       </array>
+               </dict>
+               <key>operators</key>
+               <dict>
+                       <key>match</key>
+                       <string>(?:\-&gt;)|(?:\=&gt;)</string>
+                       <key>name</key>
+                       <string>keyword.control</string>
+               </dict>
+               <key>optionalParameter</key>
+               <dict>
+                       <key>match</key>
+                       <string>[a-zA-Z0-9_.]+</string>
+                       <key>name</key>
+                       <string>comment.line</string>
+               </dict>
+               <key>optionalParameters</key>
+               <dict>
+                       <key>begin</key>
+                       <string>\[</string>
+                       <key>end</key>
+                       <string>\]</string>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#optionalParameter</string>
+                               </dict>
+                       </array>
+               </dict>
+               <key>parameterList</key>
+               <dict>
+                       <key>begin</key>
+                       <string>\(</string>
+                       <key>end</key>
+                       <string>\)</string>
+                       <key>name</key>
+                       <string>keyword.operator</string>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#parameters</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#optionalParameters</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#dataTypes</string>
+                               </dict>
+                               <dict>
+                                       <key>include</key>
+                                       <string>#separators</string>
+                               </dict>
+                       </array>
+               </dict>
+               <key>parameters</key>
+               <dict>
+                       <key>match</key>
+                       <string>[a-zA-Z0-9_.]+</string>
+                       <key>name</key>
+                       <string>string.other</string>
+               </dict>
+               <key>separators</key>
+               <dict>
+                       <key>match</key>
+                       <string>\||,</string>
+                       <key>name</key>
+                       <string>comment.line</string>
+               </dict>
+       </dict>
+       <key>scopeName</key>
+       <string>source.api-notation</string>
+       <key>uuid</key>
+       <string>fc8dc5cf-b7aa-4b64-a665-80e8dc1b2553</string>
+</dict>
+</plist>