" Vim syntax file | |
" Language: TableGen | |
" Maintainer: The LLVM team, http://llvm.org/ | |
" Version: $Revision: 141378 $ | |
if version < 600 | |
syntax clear | |
elseif exists("b:current_syntax") | |
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 defm | |
syn keyword tgType class int string list bit bits multiclass | |
syn match tgNumber /\<\d\+\>/ | |
syn match tgNumber /\<\d\+\.\d*\>/ | |
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 | |
let did_c_syn_inits = 1 | |
command -nargs=+ HiLink hi link <args> | |
else | |
command -nargs=+ HiLink hi def link <args> | |
endif | |
HiLink tgKeyword Statement | |
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 | |
let b:current_syntax = "tablegen" |