Really spiff, don't chatter :)
[oota-llvm.git] / utils / vim / llvm.vim
1 " Vim syntax file
2 " Language:   llvm
3 " Maintainer: The LLVM team, http://llvm.cs.uiuc.edu/
4 " Updated:    2003-06-02
5
6 if version < 600
7   syntax clear
8 elseif exists("b:current_syntax")
9   finish
10 endif
11
12 syn case match
13
14 syn keyword llvmType void bool sbyte ubyte
15 syn keyword llvmType short ushort int uint
16 syn keyword llvmType long ulong float double
17 syn keyword llvmType type label opaque
18
19 syn keyword llvmStatement add sub mul div rem
20 syn keyword llvmStatement and or xor
21 syn keyword llvmStatement setne seteq setlt setgt setle setge
22
23 syn keyword llvmStatement phi call cast to select shl shr vaarg vanext
24 syn keyword llvmStatement ret br switch invoke unwind
25 syn keyword llvmStatement malloc alloca free load store getelementptr
26
27 syn keyword llvmStatement begin end true false
28 syn keyword llvmStatement declare global constant const
29 syn keyword llvmStatement internal uninitialized external implementation
30 syn keyword llvmStatement linkonce weak appending
31 syn keyword llvmStatement null to except target endian pointersize
32 syn keyword llvmStatement big little volatile
33
34 "syn match llvmFunction /%[a-zA-Z\$._\-][a-zA-Z\$._\-0-9]*/
35 syn match  llvmNumber /\<\d\+\>/
36 syn match  llvmNumber /\<\d\+\.\d*\>/
37
38 syn match  llvmComment /;.*$/
39 syn region llvmString start=/"/ skip=/\\"/ end=/"/
40 syn match  llvmLabel /[\-a-zA-Z\$._0-9]*:/
41
42
43 if version >= 508 || !exists("did_c_syn_inits")
44   if version < 508
45     let did_c_syn_inits = 1
46     command -nargs=+ HiLink hi link <args>
47   else
48     command -nargs=+ HiLink hi def link <args>
49   endif
50
51   HiLink llvmType Type
52   HiLink llvmStatement Statement
53   HiLink llvmNumber Number
54   HiLink llvmComment Comment
55   HiLink llvmString String
56   HiLink llvmLabel Label
57
58   delcommand HiLink
59 endif
60  
61 let b:current_syntax = "llvm"