blob: 1514e2e0e82b165207febaf52d3f5ff648c6dc7e [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/
Misha Brukman115dc0d2003-08-11 17:56:08 +00004" Updated: 2003-08-11
5
6if version < 600
7 syntax clear
8elseif exists("b:current_syntax")
9 finish
10endif
11
12syn case match
13
Misha Brukmandac35492003-08-11 19:14:20 +000014syn keyword tgKeyword def let in code dag field include
Misha Brukman3871f052003-08-11 18:05:19 +000015syn keyword tgType class int string list bit bits
Misha Brukmandac35492003-08-11 19:14:20 +000016" FIXME: this does not handle hex (0x...) or binary (0b...) constants
Misha Brukman115dc0d2003-08-11 17:56:08 +000017syn match tgNumber /\<\d\+\>/
18syn match tgNumber /\<\d\+\.\d*\>/
19syn match tgComment /\/\/.*$/
Misha Brukman3871f052003-08-11 18:05:19 +000020" FIXME: this does not capture multi-line C-style comments
21syn match tgComment /\/\*.*\*\//
Misha Brukman115dc0d2003-08-11 17:56:08 +000022syn region tgString start=/"/ skip=/\\"/ end=/"/
23
24if version >= 508 || !exists("did_c_syn_inits")
25 if version < 508
26 let did_c_syn_inits = 1
27 command -nargs=+ HiLink hi link <args>
28 else
29 command -nargs=+ HiLink hi def link <args>
30 endif
31
Misha Brukman3871f052003-08-11 18:05:19 +000032 HiLink tgKeyword Statement
Misha Brukman115dc0d2003-08-11 17:56:08 +000033 HiLink tgType Type
Misha Brukman115dc0d2003-08-11 17:56:08 +000034 HiLink tgNumber Number
35 HiLink tgComment Comment
36 HiLink tgString String
37
38 delcommand HiLink
39endif
40
41let b:current_syntax = "tablegen"