tablegen.vim (1444B)
1 " Vim syntax file 2 " Language: TableGen 3 " Maintainer: The LLVM team, http://llvm.org/ 4 " Version: $Revision$ 5 6 if version < 600 7 syntax clear 8 elseif exists("b:current_syntax") 9 finish 10 endif 11 12 " May be changed if you have a really slow machine 13 syntax sync minlines=100 14 15 syn case match 16 17 syn keyword tgKeyword def let in code dag field include defm foreach 18 syn keyword tgType class int string list bit bits multiclass 19 20 syn match tgNumber /\<\d\+\>/ 21 syn match tgNumber /\<\d\+\.\d*\>/ 22 syn match tgNumber /\<0b[01]\+\>/ 23 syn match tgNumber /\<0x[0-9a-fA-F]\+\>/ 24 syn region tgString start=/"/ skip=/\\"/ end=/"/ oneline 25 26 syn region tgCode start=/\[{/ end=/}\]/ 27 28 syn keyword tgTodo contained TODO FIXME 29 syn match tgComment /\/\/.*$/ contains=tgTodo 30 " Handle correctly imbricated comment 31 syn region tgComment2 matchgroup=tgComment2 start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2 32 33 if version >= 508 || !exists("did_c_syn_inits") 34 if version < 508 35 let did_c_syn_inits = 1 36 command -nargs=+ HiLink hi link <args> 37 else 38 command -nargs=+ HiLink hi def link <args> 39 endif 40 41 HiLink tgKeyword Statement 42 HiLink tgType Type 43 HiLink tgNumber Number 44 HiLink tgComment Comment 45 HiLink tgComment2 Comment 46 HiLink tgString String 47 " May find a better Hilight group... 48 HiLink tgCode Special 49 HiLink tgTodo Todo 50 51 delcommand HiLink 52 endif 53 54 let b:current_syntax = "tablegen"