From bc8a81d3592dab86334f27d1d43c080ebf680d42 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Fri, 14 Oct 2022 17:40:10 +0200 Subject: Update --- syntax/machine-ir.vim | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 syntax/machine-ir.vim (limited to 'syntax/machine-ir.vim') diff --git a/syntax/machine-ir.vim b/syntax/machine-ir.vim new file mode 100644 index 00000000..ad43a9f5 --- /dev/null +++ b/syntax/machine-ir.vim @@ -0,0 +1,42 @@ +if polyglot#init#is_disabled(expand(':p'), 'llvm', 'syntax/machine-ir.vim') + finish +endif + +" 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 + else + command -nargs=+ HiLink hi def link + endif + + HiLink mirType Type + HiLink mirStatement Statement + HiLink mirPReg Identifier + + delcommand HiLink +endif + +let b:current_syntax = "mir" -- cgit v1.2.3