diff --git a/syntax/include/arm_base_syntax.vim b/syntax/include/arm_base_syntax.vim index cd76748..3478a63 100644 --- a/syntax/include/arm_base_syntax.vim +++ b/syntax/include/arm_base_syntax.vim @@ -36,6 +36,15 @@ syn keyword armRegister R0 R1 R2 R3 R4 R5 R6 R7 R8 syn keyword armRegister R9 R10 R11 R12 R13 R14 R15 SP LR PC SPSR CPSR CPSR_c CPSR_cxsf BP syn keyword armRegister A1 A2 A3 A4 V1 V2 V3 V4 V5 V6 V7 V8 +" VFP/NEON registers +let i = 0 +while i < 32 + exe 'syn match armRegister "S' . i . '\>"' + exe 'syn match armRegister "D' . i . '\>"' + exe 'syn match armRegister "Q' . i . '\>"' + let i = i + 1 +endwhile + " Conditional field to avoid repetition let armCond = '\%(AL\|CC\|CS\|EQ\|GE\|GT\|HI\|HS\|LE\|LO\|LS\|LT\|MI\|NE\|PL\|VC\|VS\)\?' @@ -78,7 +87,7 @@ HiLink armv4STR armv5STR " " VFP/NEON " - +exec 'syn match armVfp "\%(\)' . armCond . '\>"' "syn match armRelative "@R[0-7]\|@a\s*+\s*dptr\|@[ab]"