39 lines
1 KiB
VimL
39 lines
1 KiB
VimL
|
" 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"
|