blob: f2c736df2a8da7cf2132cb94632b02596ca129f1 [file] [log] [blame]
Nick Hildenbrandt75f79b92002-10-07 22:54:48 +00001" Vim syntax file
2" Language: llvm
3" Maintainer: Nick Hildenbrandt <hldnbrnd@uiuc.edu>
4" Updated: 2002-10-07
5
6if version < 600
7 syntax clear
8elseif exists("b:current_syntax")
9 finish
10endif
11
12syn case match
13
14syn keyword llvmType void bool sbyte ubyte
15syn keyword llvmType short ushort int uint
16syn keyword llvmType long ulong float double
17syn keyword llvmType type label opaque
18
19syn keyword llvmStatement add sub mul div rem
20syn keyword llvmStatement and or xor
21syn keyword llvmStatement setne seteq setlt setgt setle setge
22
23syn keyword llvmStatement phi call cast shl shr
24syn keyword llvmStatement ret br switch invoke
25syn keyword llvmStatement malloc alloca free load store getelementptr
26
27syn keyword llvmStatement begin end true false
28syn keyword llvmStatement declare global constant const
29syn keyword llvmStatement internal unititialized external implementation
30syn keyword llvmStatement null to except not
31
32"syn match llvmFunction /%[a-zA-Z\$._\-][a-zA-Z\$._\-0-9]*/
33syn match llvmNumber /\<\d\+\>/
34syn match llvmNumber /\<\d\+\.\d*\>/
35
36syn match llvmComment /;.*$/
37syn region llvmString start=/"/ skip=/\\"/ end=/"/
38syn match llvmLabel /[\-a-zA-Z\$._0-9]*:/
39
40
41if version >= 508 || !exists("did_c_syn_inits")
42 if version < 508
43 let did_c_syn_inits = 1
44 command -nargs=+ HiLink hi link <args>
45 else
46 command -nargs=+ HiLink hi def link <args>
47 endif
48
49 HiLink llvmType Type
50 HiLink llvmStatement Statement
51 HiLink llvmNumber Number
52 HiLink llvmComment Comment
53 HiLink llvmString String
54 HiLink llvmLabel Label
55
56 delcommand HiLink
57endif
58
59let b:current_syntax = "llvm"