[llvm-commits] [llvm] r50319 - /llvm/trunk/utils/vim/tablegen.vim

Bill Wendling isanbard at gmail.com
Sun Apr 27 02:44:10 PDT 2008


Author: void
Date: Sun Apr 27 04:44:10 2008
New Revision: 50319

URL: http://llvm.org/viewvc/llvm-project?rev=50319&view=rev
Log:
Added support for:
- defm and multiclass
- imbricatable multiline C style comment
- FIXME/TODO highlight in comment
- binary and hexadecimal number
- code using [{ }] is no highlighted as special (perhaps not the best
choice)
Patch by Cedric Venet!


Modified:
    llvm/trunk/utils/vim/tablegen.vim

Modified: llvm/trunk/utils/vim/tablegen.vim
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/tablegen.vim?rev=50319&r1=50318&r2=50319&view=diff

==============================================================================
--- llvm/trunk/utils/vim/tablegen.vim (original)
+++ llvm/trunk/utils/vim/tablegen.vim Sun Apr 27 04:44:10 2008
@@ -9,17 +9,26 @@
   finish
 endif
 
+" May be changed if you have a really slow machine
+syntax sync minlines=100
+
 syn case match
 
-syn keyword tgKeyword   def let in code dag field include
-syn keyword tgType      class int string list bit bits 
-" FIXME: this does not handle hex (0x...) or binary (0b...) constants
+syn keyword tgKeyword   def let in code dag field include defm
+syn keyword tgType      class int string list bit bits multiclass
+
 syn match   tgNumber    /\<\d\+\>/
 syn match   tgNumber    /\<\d\+\.\d*\>/
-syn match   tgComment   /\/\/.*$/
-" FIXME: this does not capture multi-line C-style comments
-syn match   tgComment   /\/\*.*\*\//
-syn region  tgString    start=/"/ skip=/\\"/ end=/"/
+syn match   tgNumber    /\<0b[01]\+\>/
+syn match   tgNumber    /\<0x[0-9a-fA-F]\+\>/
+syn region  tgString    start=/"/ skip=/\\"/ end=/"/    oneline
+
+syn region  tgCode      start=/\[{/ end=/}\]/
+
+syn keyword tgTodo             contained TODO FIXME
+syn match   tgComment   /\/\/.*$/         contains=tgTodo
+" Handle correctly imbricated comment
+syn region  tgComment2 matchgroup=tgComment2  start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2
 
 if version >= 508 || !exists("did_c_syn_inits")
   if version < 508
@@ -33,7 +42,11 @@
   HiLink tgType Type
   HiLink tgNumber Number
   HiLink tgComment Comment
+  HiLink tgComment2 Comment
   HiLink tgString String
+  " May find a better Hilight group...
+  HiLink tgCode Special
+  HiLink tgTodo Todo
 
   delcommand HiLink
 endif





More information about the llvm-commits mailing list