| " Vim syntax file | |
| " Language: mir | |
| " Maintainer: The LLVM team, http://llvm.org/ | |
| " Version: $Revision$ | |
| syn case match | |
| " FIXME: MIR doesn't actually match LLVM IR. Stop including it all as a | |
| " fallback once enough is implemented. | |
| " See the MIR LangRef: https://llvm.org/docs/MIRLangRef.html | |
| unlet b:current_syntax " Unlet so that the LLVM syntax will load | |
| runtime! syntax/llvm.vim | |
| unlet b:current_syntax | |
| syn match mirType /\<[sp]\d\+\>/ | |
| " Opcodes. Matching instead of listing them because individual targets can add | |
| " these. FIXME: Maybe use some more context to make this more accurate? | |
| syn match mirStatement /\<[A-Z][A-Za-z0-9_]*\>/ | |
| syn match mirPReg /$[-a-zA-Z$._][-a-zA-Z$._0-9]*/ | |
| if version >= 508 || !exists("did_c_syn_inits") | |
| if version < 508 | |
| let did_c_syn_inits = 1 | |
| command -nargs=+ HiLink hi link <args> | |
| else | |
| command -nargs=+ HiLink hi def link <args> | |
| endif | |
| HiLink mirType Type | |
| HiLink mirStatement Statement | |
| HiLink mirPReg Identifier | |
| delcommand HiLink | |
| endif | |
| let b:current_syntax = "mir" |