1115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman" Vim syntax file
2115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman" Language:   TableGen
39dce2b33807f47d794b0482313ae3fe0d275c833Reid Spencer" Maintainer: The LLVM team, http://llvm.org/
47b14fc211c349bb16dd19c71e150e4309c2778d6Dan Gohman" Version:    $Revision$
5115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman
6115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmanif version < 600
7115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  syntax clear
8115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmanelseif exists("b:current_syntax")
9115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  finish
10115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmanendif
11115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman
12908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling" May be changed if you have a really slow machine
13908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyntax sync minlines=100
14908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling
15115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmansyn case match
16115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman
17cebb4ee93a0064e4a2cb1fd1da7455b01e5655cbDavid Greenesyn keyword tgKeyword   def let in code dag field include defm foreach
18908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn keyword tgType      class int string list bit bits multiclass
19908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling
20115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmansyn match   tgNumber    /\<\d\+\>/
21115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmansyn match   tgNumber    /\<\d\+\.\d*\>/
22908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn match   tgNumber    /\<0b[01]\+\>/
23908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn match   tgNumber    /\<0x[0-9a-fA-F]\+\>/
24908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn region  tgString    start=/"/ skip=/\\"/ end=/"/    oneline
25908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling
26908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn region  tgCode      start=/\[{/ end=/}\]/
27908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling
28908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn keyword tgTodo             contained TODO FIXME
29908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn match   tgComment   /\/\/.*$/         contains=tgTodo
30908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling" Handle correctly imbricated comment
31908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendlingsyn region  tgComment2 matchgroup=tgComment2  start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2
32115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman
33115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmanif version >= 508 || !exists("did_c_syn_inits")
34115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  if version < 508
35115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman    let did_c_syn_inits = 1
36115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman    command -nargs=+ HiLink hi link <args>
37115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  else
38115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman    command -nargs=+ HiLink hi def link <args>
39115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  endif
40115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman
413871f056712844cd10f22dd7771d60f1d837b6f6Misha Brukman  HiLink tgKeyword Statement
42115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  HiLink tgType Type
43115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  HiLink tgNumber Number
44115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  HiLink tgComment Comment
45908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling  HiLink tgComment2 Comment
46115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  HiLink tgString String
47908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling  " May find a better Hilight group...
48908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling  HiLink tgCode Special
49908865d90fa9d9ea24b750819d0da15e0505cb45Bill Wendling  HiLink tgTodo Todo
50115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman
51115dc0deabe68b38613251c01fe06493a578b35cMisha Brukman  delcommand HiLink
52115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmanendif
53adf4e4d06ac5bbb7e7b30ae481995e58133bc5f2Misha Brukman
54115dc0deabe68b38613251c01fe06493a578b35cMisha Brukmanlet b:current_syntax = "tablegen"
55