Add new linkage keywords. Spell uninitialized correctly
[oota-llvm.git] / utils / vim / llvm.vim
1 " Vim syntax file
2 " Language:     llvm
3 " Maintainer:   Nick Hildenbrandt <hldnbrnd@uiuc.edu>
4 " Updated:      2002-10-07
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 shl shr
24 syn keyword llvmStatement ret br switch invoke
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 appending
31 syn keyword llvmStatement null to except not
32
33 "syn match llvmFunction /%[a-zA-Z\$._\-][a-zA-Z\$._\-0-9]*/
34 syn match llvmNumber /\<\d\+\>/
35 syn match llvmNumber /\<\d\+\.\d*\>/
36
37 syn match llvmComment /;.*$/
38 syn region llvmString start=/"/ skip=/\\"/ end=/"/
39 syn match llvmLabel /[\-a-zA-Z\$._0-9]*:/
40
41
42 if version >= 508 || !exists("did_c_syn_inits")
43   if version < 508
44     let did_c_syn_inits = 1
45     command -nargs=+ HiLink hi link <args>
46   else
47     command -nargs=+ HiLink hi def link <args>
48   endif
49
50   HiLink llvmType Type
51   HiLink llvmStatement Statement
52   HiLink llvmNumber Number
53   HiLink llvmComment Comment
54   HiLink llvmString String
55   HiLink llvmLabel Label
56
57   delcommand HiLink
58 endif
59  
60 let b:current_syntax = "llvm"