llvm.vim revision 21de024b909a3f2c8b120dd65bc14efba68f919f
175f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt" Vim syntax file 25981d788f22930083e1f1172b7ba9b75cbe68e5cMisha Brukman" Language: llvm 39dce2b33807f47d794b0482313ae3fe0d275c833Reid Spencer" Maintainer: The LLVM team, http://llvm.org/ 45981d788f22930083e1f1172b7ba9b75cbe68e5cMisha Brukman" Updated: 2003-06-02 575f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 675f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtif version < 600 775f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt syntax clear 875f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtelseif exists("b:current_syntax") 975f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt finish 1075f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtendif 1175f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 1275f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtsyn case match 1375f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 145d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" Types. 155d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" Types also include struct, array, vector, etc. but these don't 165d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" benefit as much from having dedicated highlighting rules. 170e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmType void float double 180e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmType x86_fp80 fp128 ppc_fp128 1975f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtsyn keyword llvmType type label opaque 200e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn match llvmType /\<i\d\+\>/ 2175f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 225d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" Instructions. 235d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" The true and false tokens can be used for comparison opcodes, but it's 245d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" much more common for these tokens to be used for boolean constants. 25ae3a0be92e33bc716722aa600983fc1535acb122Dan Gohmansyn keyword llvmStatement add fadd sub fsub mul fmul 26ae3a0be92e33bc716722aa600983fc1535acb122Dan Gohmansyn keyword llvmStatement sdiv udiv fdiv srem urem frem 2775f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtsyn keyword llvmStatement and or xor 280e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmStatement icmp fcmp 290e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmStatement eq ne ugt uge ult ule sgt sge slt sle 305d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmStatement oeq ogt oge olt ole one ord ueq ugt uge 315d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmStatement ult ule une uno 325d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmStatement phi call select shl lshr ashr va_arg 330e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmStatement trunc zext sext 340e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmStatement fptrunc fpext fptoui fptosi uitofp sitofp 350e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmStatement ptrtoint inttoptr bitcast 364c554c589ffc081965772f8123a8377a83360062Chris Lattnersyn keyword llvmStatement ret br switch invoke unwind unreachable 3775f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtsyn keyword llvmStatement malloc alloca free load store getelementptr 380e9dfb0900fefc10d006b6b804597800e267a86bDan Gohmansyn keyword llvmStatement extractelement insertelement shufflevector 395d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmStatement extractvalue insertvalue 405d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman 415d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" Keywords. 425d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword define declare global constant 4321de024b909a3f2c8b120dd65bc14efba68f919fDan Gohmansyn keyword llvmKeyword internal external private 44667d4b8de6dea70195ff12ef39a4deebffa2f5c7Duncan Sandssyn keyword llvmKeyword linkonce linkonce_odr weak weak_odr appending 454dc2b39bf89d7c87868008ef8a0f807e0419aca6Duncan Sandssyn keyword llvmKeyword common extern_weak 465d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword thread_local dllimport dllexport 471ed7942e4f374b8a5ef575b4f25fc097b3f97f0eDan Gohmansyn keyword llvmKeyword hidden protected default 485d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword except deplibs 495d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword volatile fastcc coldcc cc ccc 505d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword x86_stdcallcc x86_fastcallcc 515d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword signext zeroext inreg sret nounwind noreturn 525d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword nocapture byval nest readnone readonly 535d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword noinline alwaysinline optsize ssp sspreq 545d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword module asm align tail to 556a9e75ec137a1da570ff486f2d255d9f915d2bd3Dan Gohmansyn keyword llvmKeyword addrspace section alias sideeffect c gc 565d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmKeyword target datalayout triple 5775f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 585d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" Obsolete keywords. 595d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmError uninitialized implementation 606a9e75ec137a1da570ff486f2d255d9f915d2bd3Dan Gohmansyn keyword llvmError getresult big little endian begin end 6175f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 625d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" Misc syntax. 635d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmIgnore /[%@]\d\+\>/ 645d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmNumber /-\?\<\d\+\>/ 655d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmFloat /-\?\<\d\+\.\d*\(e[+-]\d\+\)\?\>/ 665d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmFloat /\<0x\x\+\>/ 675d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmBoolean true false 685d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn keyword llvmConstant zeroinitializer undef null 695d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmComment /;.*$/ 705d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn region llvmString start=/"/ skip=/\\"/ end=/"/ 715d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmLabel /[\-a-zA-Z\$._0-9]*:/ 7275f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 735d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman" Syntax-highlight dejagnu test commands. 745d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmSpecialComment /;\s*RUN:.*$/ 755d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmSpecialComment /;\s*PR\d*\s*$/ 765d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmSpecialComment /;\s*END\.\s*$/ 775d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmSpecialComment /;\s*XFAIL:.*$/ 785d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohmansyn match llvmSpecialComment /;\s*XTARGET:.*$/ 7975f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 8075f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtif version >= 508 || !exists("did_c_syn_inits") 8175f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt if version < 508 8275f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt let did_c_syn_inits = 1 8375f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt command -nargs=+ HiLink hi link <args> 8475f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt else 8575f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt command -nargs=+ HiLink hi def link <args> 8675f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt endif 8775f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 8875f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt HiLink llvmType Type 8975f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt HiLink llvmStatement Statement 9075f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt HiLink llvmNumber Number 9175f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt HiLink llvmComment Comment 9275f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt HiLink llvmString String 9375f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt HiLink llvmLabel Label 945d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman HiLink llvmKeyword Keyword 955d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman HiLink llvmBoolean Boolean 965d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman HiLink llvmFloat Float 975d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman HiLink llvmIgnore Ignore 985d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman HiLink llvmConstant Constant 995d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman HiLink llvmSpecialComment SpecialComment 1005d8ab65ea44c29747a6f31d9442ff3f4f25d8129Dan Gohman HiLink llvmError Error 10175f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt 10275f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandt delcommand HiLink 10375f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtendif 104adf4e4d06ac5bbb7e7b30ae481995e58133bc5f2Misha Brukman 10575f79b9b0ec0ec9807ce4b4b0a802c20c91e896bNick Hildenbrandtlet b:current_syntax = "llvm" 106