]> git.proxmox.com Git - rustc.git/blob - src/llvm/utils/vim/tablegen.vim
Imported Upstream version 1.0.0+dfsg1
[rustc.git] / src / llvm / utils / vim / tablegen.vim
1 " Vim syntax file
2 " Language: TableGen
3 " Maintainer: The LLVM team, http://llvm.org/
4 " Version: $Revision$
5
6 if version < 600
7 syntax clear
8 elseif exists("b:current_syntax")
9 finish
10 endif
11
12 " May be changed if you have a really slow machine
13 syntax sync minlines=100
14
15 syn case match
16
17 syn keyword tgKeyword def let in code dag field include defm foreach
18 syn keyword tgType class int string list bit bits multiclass
19
20 syn match tgNumber /\<\d\+\>/
21 syn match tgNumber /\<\d\+\.\d*\>/
22 syn match tgNumber /\<0b[01]\+\>/
23 syn match tgNumber /\<0x[0-9a-fA-F]\+\>/
24 syn region tgString start=/"/ skip=/\\"/ end=/"/ oneline
25
26 syn region tgCode start=/\[{/ end=/}\]/
27
28 syn keyword tgTodo contained TODO FIXME
29 syn match tgComment /\/\/.*$/ contains=tgTodo
30 " Handle correctly imbricated comment
31 syn region tgComment2 matchgroup=tgComment2 start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2
32
33 if 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
41 HiLink tgKeyword Statement
42 HiLink tgType Type
43 HiLink tgNumber Number
44 HiLink tgComment Comment
45 HiLink tgComment2 Comment
46 HiLink tgString String
47 " May find a better Hilight group...
48 HiLink tgCode Special
49 HiLink tgTodo Todo
50
51 delcommand HiLink
52 endif
53
54 let b:current_syntax = "tablegen"