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