blob: 341c8bef28b2f65eabc682ecbe8e2fd67e68d764 [file] [log] [blame]
Misha Brukman61e66ba2003-08-11 17:56:08 +00001" Vim syntax file
2" Language: TableGen
Reid Spencerc67a0602006-03-14 05:54:52 +00003" Maintainer: The LLVM team, http://llvm.org/
Dan Gohman1b9dd242010-02-26 21:38:04 +00004" Version: $Revision$
Misha Brukman61e66ba2003-08-11 17:56:08 +00005
6if version < 600
7 syntax clear
8elseif exists("b:current_syntax")
9 finish
10endif
11
Bill Wendlingd8c2d292008-04-27 09:44:10 +000012" May be changed if you have a really slow machine
13syntax sync minlines=100
14
Misha Brukman61e66ba2003-08-11 17:56:08 +000015syn case match
16
Simon Tathame3ed63e2020-01-14 13:12:16 +000017syn keyword tgKeyword def let in code dag field include defm foreach defset defvar if then else
Bill Wendlingd8c2d292008-04-27 09:44:10 +000018syn keyword tgType class int string list bit bits multiclass
19
Misha Brukman61e66ba2003-08-11 17:56:08 +000020syn match tgNumber /\<\d\+\>/
21syn match tgNumber /\<\d\+\.\d*\>/
Bill Wendlingd8c2d292008-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 Brukman61e66ba2003-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 Brukman216ed652003-08-11 18:05:19 +000041 HiLink tgKeyword Statement
Misha Brukman61e66ba2003-08-11 17:56:08 +000042 HiLink tgType Type
Misha Brukman61e66ba2003-08-11 17:56:08 +000043 HiLink tgNumber Number
44 HiLink tgComment Comment
Bill Wendlingd8c2d292008-04-27 09:44:10 +000045 HiLink tgComment2 Comment
Misha Brukman61e66ba2003-08-11 17:56:08 +000046 HiLink tgString String
Bill Wendlingd8c2d292008-04-27 09:44:10 +000047 " May find a better Hilight group...
48 HiLink tgCode Special
49 HiLink tgTodo Todo
Misha Brukman61e66ba2003-08-11 17:56:08 +000050
51 delcommand HiLink
52endif
Misha Brukmanac7b4562009-01-02 16:26:14 +000053
Misha Brukman61e66ba2003-08-11 17:56:08 +000054let b:current_syntax = "tablegen"