Add Textmate bundle for Tablegen syntax-highlighting
authorJoel Jones <joel_k_jones@apple.com>
Fri, 4 Jan 2013 18:55:24 +0000 (18:55 +0000)
committerJoel Jones <joel_k_jones@apple.com>
Fri, 4 Jan 2013 18:55:24 +0000 (18:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171496 91177308-0d34-0410-b5e6-96231b3b80d8

utils/textmate/README [new file with mode: 0644]
utils/textmate/TableGen.tmbundle/Syntaxes/TableGen.tmLanguage [new file with mode: 0644]
utils/textmate/TableGen.tmbundle/info.plist [new file with mode: 0644]

diff --git a/utils/textmate/README b/utils/textmate/README
new file mode 100644 (file)
index 0000000..195a0e6
--- /dev/null
@@ -0,0 +1,7 @@
+This directory contains a "bundle" for doing syntax highlighting of TableGen
+files for the TextMate editor for OS X. The highlighting follows that done 
+by the TextMate "C" bundle.  Currently, keywords, comments, and strings are 
+highlighted.
+
+To install this bundle, copy it to 
+  ~/Library/Application\ Support/TextMate/Bundles
diff --git a/utils/textmate/TableGen.tmbundle/Syntaxes/TableGen.tmLanguage b/utils/textmate/TableGen.tmbundle/Syntaxes/TableGen.tmLanguage
new file mode 100644 (file)
index 0000000..cf5c41e
--- /dev/null
@@ -0,0 +1,132 @@
+<?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/>
+       <key>foldingStartMarker</key>
+       <string>/\*\*|\{\s*$</string>
+       <key>foldingStopMarker</key>
+       <string>\*\*/|^\s*\}</string>
+       <key>name</key>
+       <string>TableGen</string>
+       <key>patterns</key>
+       <array>
+               <dict>
+                       <key>include</key>
+                       <string>#comments</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>\b(def|let|in|code|dag|string|list|bits|bit|field|include|defm|foreach|class|multiclass)\b</string>
+                       <key>name</key>
+                       <string>keyword.control.tablegen</string>
+               </dict>
+               <dict>
+                       <key>begin</key>
+                       <string>"</string>
+                       <key>end</key>
+                       <string>"</string>
+                       <key>name</key>
+                       <string>string.quoted.double.untitled</string>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>match</key>
+                                       <string>\\.</string>
+                                       <key>name</key>
+                                       <string>constant.character.escape.tablegen</string>
+                               </dict>
+                       </array>
+               </dict>
+       </array>
+       <key>repository</key>
+       <dict>
+               <key>comments</key>
+               <dict>
+                       <key>patterns</key>
+                       <array>
+                               <dict>
+                                       <key>captures</key>
+                                       <dict>
+                                               <key>1</key>
+                                               <dict>
+                                                       <key>name</key>
+                                                       <string>meta.toc-list.banner.block.tablegen</string>
+                                               </dict>
+                                       </dict>
+                                       <key>match</key>
+                                       <string>^/\* =(\s*.*?)\s*= \*/$\n?</string>
+                                       <key>name</key>
+                                       <string>comment.block.tablegen</string>
+                               </dict>
+                               <dict>
+                                       <key>begin</key>
+                                       <string>/\*</string>
+                                       <key>captures</key>
+                                       <dict>
+                                               <key>0</key>
+                                               <dict>
+                                                       <key>name</key>
+                                                       <string>punctuation.definition.comment.tablegen</string>
+                                               </dict>
+                                       </dict>
+                                       <key>end</key>
+                                       <string>\*/</string>
+                                       <key>name</key>
+                                       <string>comment.block.tablegen</string>
+                               </dict>
+                               <dict>
+                                       <key>match</key>
+                                       <string>\*/.*\n</string>
+                                       <key>name</key>
+                                       <string>invalid.illegal.stray-comment-end.tablegen</string>
+                               </dict>
+                               <dict>
+                                       <key>captures</key>
+                                       <dict>
+                                               <key>1</key>
+                                               <dict>
+                                                       <key>name</key>
+                                                       <string>meta.toc-list.banner.line.tablegen</string>
+                                               </dict>
+                                       </dict>
+                                       <key>match</key>
+                                       <string>^// =(\s*.*?)\s*=\s*$\n?</string>
+                                       <key>name</key>
+                                       <string>comment.line.banner.tablegen</string>
+                               </dict>
+                               <dict>
+                                       <key>begin</key>
+                                       <string>//</string>
+                                       <key>beginCaptures</key>
+                                       <dict>
+                                               <key>0</key>
+                                               <dict>
+                                                       <key>name</key>
+                                                       <string>punctuation.definition.comment.tablegen</string>
+                                               </dict>
+                                       </dict>
+                                       <key>end</key>
+                                       <string>$\n?</string>
+                                       <key>name</key>
+                                       <string>comment.line.double-slash.tablegen</string>
+                                       <key>patterns</key>
+                                       <array>
+                                               <dict>
+                                                       <key>match</key>
+                                                       <string>(?&gt;\\\s*\n)</string>
+                                                       <key>name</key>
+                                                       <string>punctuation.separator.continuation.tablegen</string>
+                                               </dict>
+                                       </array>
+                               </dict>
+                       </array>
+               </dict>
+       </dict>
+       <key>scopeName</key>
+       <string>source.tablegen</string>
+       <key>uuid</key>
+       <string>3A090BFC-E74B-4993-8DAE-7CCF6D238A32</string>
+</dict>
+</plist>
diff --git a/utils/textmate/TableGen.tmbundle/info.plist b/utils/textmate/TableGen.tmbundle/info.plist
new file mode 100644 (file)
index 0000000..54d5eff
--- /dev/null
@@ -0,0 +1,12 @@
+<?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>name</key>
+       <string>TableGen Bundle</string>
+       <key>ordering</key>
+       <array/>
+       <key>uuid</key>
+       <string>96925448-7219-41E9-A7F0-8D5B70E9B877</string>
+</dict>
+</plist>