blob: 30434899bc04aa976c39d258009b68e516b89c94 [file] [log] [blame]
Misha Brukman115dc0d2003-08-11 17:56:08 +00001" Vim syntax file
2" Language: TableGen
Reid Spencer9dce2b32006-03-14 05:54:52 +00003" Maintainer: The LLVM team, http://llvm.org/
Dan Gohman7b14fc22010-02-26 21:38:04 +00004" Version: $Revision$
Misha Brukman115dc0d2003-08-11 17:56:08 +00005
6if version < 600
7 syntax clear
8elseif exists("b:current_syntax")
9 finish
10endif
11
Bill Wendling908865d2008-04-27 09:44:10 +000012" May be changed if you have a really slow machine
13syntax sync minlines=100
14
Misha Brukman115dc0d2003-08-11 17:56:08 +000015syn case match
16
Bill Wendling908865d2008-04-27 09:44:10 +000017syn keyword tgKeyword def let in code dag field include defm
18syn keyword tgType class int string list bit bits multiclass
19
Misha Brukman115dc0d2003-08-11 17:56:08 +000020syn match tgNumber /\<\d\+\>/
21syn match tgNumber /\<\d\+\.\d*\>/
Bill Wendling908865d2008-04-27 09:44:10 +000022syn match tgNumber /\<0b[01]\+\>/
23syn match tgNumber /\<0x[0-9a-fA-F]\+\>/
24syn region tgString start=/"/ skip=/\\"/ end=/"/ oneline
25
26syn region tgCode start=/\[{/ end=/}\]/
27
28syn keyword tgTodo contained TODO FIXME
29syn match tgComment /\/\/.*$/ contains=tgTodo
30" Handle correctly imbricated comment
31syn region tgComment2 matchgroup=tgComment2 start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2
Misha Brukman115dc0d2003-08-11 17:56:08 +000032
33if 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
Misha Brukman3871f052003-08-11 18:05:19 +000041 HiLink tgKeyword Statement
Misha Brukman115dc0d2003-08-11 17:56:08 +000042 HiLink tgType Type
Misha Brukman115dc0d2003-08-11 17:56:08 +000043 HiLink tgNumber Number
44 HiLink tgComment Comment
Bill Wendling908865d2008-04-27 09:44:10 +000045 HiLink tgComment2 Comment
Misha Brukman115dc0d2003-08-11 17:56:08 +000046 HiLink tgString String
Bill Wendling908865d2008-04-27 09:44:10 +000047 " May find a better Hilight group...
48 HiLink tgCode Special
49 HiLink tgTodo Todo
Misha Brukman115dc0d2003-08-11 17:56:08 +000050
51 delcommand HiLink
52endif
Misha Brukmanadf4e4d2009-01-02 16:26:14 +000053
Misha Brukman115dc0d2003-08-11 17:56:08 +000054let b:current_syntax = "tablegen"