| " 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" |