3 " Maintainer: The LLVM team, http://llvm.org/
8 elseif exists("b:current_syntax")
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
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
23 syn keyword llvmStatement phi tail call cast to select shl shr vaarg vanext
24 syn keyword llvmStatement ret br switch invoke unwind unreachable
25 syn keyword llvmStatement malloc alloca free load store getelementptr
27 syn keyword llvmStatement begin end true false zeroinitializer
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 undef null to except target endian pointersize deplibs
32 syn keyword llvmStatement big little volatile fastcc coldcc cc
34 "syn match llvmFunction /%[a-zA-Z\$._\-][a-zA-Z\$._\-0-9]*/
35 syn match llvmNumber /\<\d\+\>/
36 syn match llvmNumber /\<\d\+\.\d*\>/
38 syn match llvmComment /;.*$/
39 syn region llvmString start=/"/ skip=/\\"/ end=/"/
40 syn match llvmLabel /[\-a-zA-Z\$._0-9]*:/
43 if version >= 508 || !exists("did_c_syn_inits")
45 let did_c_syn_inits = 1
46 command -nargs=+ HiLink hi link <args>
48 command -nargs=+ HiLink hi def link <args>
52 HiLink llvmStatement Statement
53 HiLink llvmNumber Number
54 HiLink llvmComment Comment
55 HiLink llvmString String
56 HiLink llvmLabel Label
61 let b:current_syntax = "llvm"