codekingpro/portable-devtools
114k
1" Vim syntax file for the D programming language (version 1.076 and 2.069).2"3" Language: D4" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>5" Last Change: 2016 Feb 26" Version: 0.287"8" Contributors:9" - Jason Mills: original Maintainer10" - Kirk McDonald11" - Tim Keating12" - Frank Benoit13" - Shougo Matsushita14" - Ellery Newcomer15" - Steven N. Oliver16" - Sohgo Takeuchi17" - Robert Clipsham18" - Petar Kirov19"20" Please submit bugs/comments/suggestions to the github repo: 21" https://github.com/JesseKPhillips/d.vim22"23" Options:24" d_comment_strings - Set to highlight strings and numbers in comments.25"26" d_hl_operator_overload - Set to highlight D's specially named functions27" that when overloaded implement unary and binary operators (e.g. opCmp).28"29" d_hl_object_types - Set to highlight some common types from object.di.30 31" Quit when a syntax file was already loaded32if exists("b:current_syntax")33 finish34endif35 36" Support cpoptions37let s:cpo_save = &cpo38set cpo&vim39 40" Set the current syntax to be known as d41let b:current_syntax = "d"42 43" Keyword definitions44"45syn keyword dExternal contained import module46syn keyword dAssert assert47syn keyword dConditional if else switch48syn keyword dBranch goto break continue49syn keyword dRepeat while for do foreach foreach_reverse50syn keyword dBoolean true false51syn keyword dConstant null52syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__53syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__54syn keyword dConstant __MODULE__ __FUNCTION__ __PRETTY_FUNCTION__55syn keyword dTypedef alias typedef56syn keyword dStructure template interface class struct union57syn keyword dEnum enum58syn keyword dOperator new delete typeof typeid cast align is59syn keyword dOperator this super60if exists("d_hl_operator_overload")61 syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd62 syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod 63 syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr64 syn keyword dOpOverload opShr_r opUShr opUShr_r opCat65 syn keyword dOpOverload opCat_r opEquals opCmp66 syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign67 syn keyword dOpOverload opDivAssign opModAssign opAndAssign 68 syn keyword dOpOverload opOrAssign opXorAssign opShlAssign 69 syn keyword dOpOverload opShrAssign opUShrAssign opCatAssign70 syn keyword dOpOverload opIndex opIndexAssign opIndexOpAssign71 syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign 72 syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r73 syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot 74 syn keyword dOpOverload opApply opApplyReverse opDollar75 syn keyword dOpOverload opUnary opIndexUnary opSliceUnary76 syn keyword dOpOverload opBinary opBinaryRight77endif78 79syn keyword dType byte ubyte short ushort int uint long ulong cent ucent80syn keyword dType void bool Object81syn keyword dType float double real82syn keyword dType ushort int uint long ulong float83syn keyword dType char wchar dchar string wstring dstring84syn keyword dType ireal ifloat idouble creal cfloat cdouble85syn keyword dType size_t ptrdiff_t sizediff_t equals_t hash_t86if exists("d_hl_object_types")87 syn keyword dType Object Throwable AssociativeArray Error Exception88 syn keyword dType Interface OffsetTypeInfo TypeInfo TypeInfo_Typedef89 syn keyword dType TypeInfo_Enum TypeInfo_Pointer TypeInfo_Array90 syn keyword dType TypeInfo_StaticArray TypeInfo_AssociativeArray91 syn keyword dType TypeInfo_Function TypeInfo_Delegate TypeInfo_Class92 syn keyword dType ClassInfo TypeInfo_Interface TypeInfo_Struct93 syn keyword dType TypeInfo_Tuple TypeInfo_Const TypeInfo_Invariant94 syn keyword dType TypeInfo_Shared TypeInfo_Inout MemberInfo95 syn keyword dType MemberInfo_field MemberInfo_function ModuleInfo96endif97syn keyword dDebug deprecated unittest invariant98syn keyword dExceptions throw try catch finally99syn keyword dScopeDecl public protected private export package 100syn keyword dStatement debug return with101syn keyword dStatement function delegate __ctfe mixin macro __simd102syn keyword dStatement in out body103syn keyword dStorageClass contained in out scope104syn keyword dStorageClass inout ref lazy pure nothrow105syn keyword dStorageClass auto static override final abstract volatile106syn keyword dStorageClass __gshared __vector107syn keyword dStorageClass synchronized shared immutable const lazy108syn keyword dIdentifier _arguments _argptr __vptr __monitor109syn keyword dIdentifier _ctor _dtor __argTypes __overloadset110syn keyword dScopeIdentifier contained exit success failure111syn keyword dTraitsIdentifier contained isAbstractClass isArithmetic112syn keyword dTraitsIdentifier contained isAssociativeArray isFinalClass113syn keyword dTraitsIdentifier contained isPOD isNested isFloating114syn keyword dTraitsIdentifier contained isIntegral isScalar isStaticArray115syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction116syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction117syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction118syn keyword dTraitsIdentifier contained isOverrideFunction isTemplate119syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember120syn keyword dTraitsIdentifier contained identifier getAliasThis121syn keyword dTraitsIdentifier contained getAttributes getFunctionAttributes getMember122syn keyword dTraitsIdentifier contained getOverloads getPointerBitmap getProtection123syn keyword dTraitsIdentifier contained getVirtualFunctions getVirtualIndex124syn keyword dTraitsIdentifier contained getVirtualMethods getUnitTests125syn keyword dTraitsIdentifier contained parent classInstanceSize allMembers126syn keyword dTraitsIdentifier contained derivedMembers isSame compiles127syn keyword dPragmaIdentifier contained inline lib mangle msg startaddress GNU_asm128syn keyword dExternIdentifier contained C C++ D Windows Pascal System Objective-C129syn keyword dAttribute contained safe trusted system130syn keyword dAttribute contained property disable nogc131syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET132syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha133syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64134syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD Windows Win32 Win64135syn keyword dVersionIdentifier contained OpenBSD BSD Solaris AIX SkyOS SysV3 SysV4 Hurd136syn keyword dVersionIdentifier contained Cygwin MinGW137syn keyword dVersionIdentifier contained LittleEndian BigEndian138syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64139syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC140syn keyword dVersionIdentifier contained unittest assert none all141 142syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment143 144" Highlight the sharpbang145syn match dSharpBang "\%^#!.*" display146 147" Attributes/annotations148syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute149 150" Version Identifiers151syn match dVersion "\<version\>"152syn match dVersion "\<version\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+7 contains=dVersionIdentifier153 154" Scope Identifiers155syn match dStatement "\<scope\>"156syn match dStatement "\<scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier157 158" Traits Statement159syn match dStatement "\<__traits\>"160syn match dStatement "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dTraitsIdentifier161 162" Pragma Statement163syn match dPragma "\<pragma\>"164syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+6 contains=dPragmaIdentifier165 166" Necessary to highlight C++ in extern modifiers.167syn match dExternIdentifier "C\(++\)\?" contained168 169" Extern Identifiers170syn match dExternal "\<extern\>"171syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier172 173" Make import a region to prevent highlighting keywords174syn region dImport start="\<import\_s" end=";" contains=dExternal,@dComment175 176" Make module a region to prevent highlighting keywords177syn region dImport start="\<module\_s" end=";" contains=dExternal,@dComment178 179" dTokens is used by the token string highlighting180syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean181syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload182syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement183syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation,dEnum184syn cluster dTokens add=dParenString,dBrackString,dAngleString,dCurlyString185syn cluster dTokens add=dTokenString,dDelimString,dHereString186 187" Create a match for parameter lists to identify storage class188syn region paramlist start="(" end=")" contains=@dTokens189 190" Labels191"192" We contain dScopeDecl so public: private: etc. are not highlighted like labels193syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum194syn keyword dLabel case default195 196syn cluster dTokens add=dUserLabel,dLabel197 198" Comments199"200syn match dCommentError display "\*/"201syn match dNestedCommentError display "+/"202 203syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX204syn match dCommentStar contained "^\s*\*[^/]"me=e-1205syn match dCommentStar contained "^\s*\*$"206syn match dCommentPlus contained "^\s*+[^/]"me=e-1207syn match dCommentPlus contained "^\s*+$"208if exists("d_comment_strings")209 syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell210 syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell211 syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell212endif213 214syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,dCommentStartError,@Spell fold215syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold216syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell217 218hi link dLineCommentString dBlockCommentString219hi link dBlockCommentString dString220hi link dNestedCommentString dString221hi link dCommentStar dBlockComment222hi link dCommentPlus dNestedComment223 224syn cluster dTokens add=dBlockComment,dNestedComment,dLineComment225 226" /+ +/ style comments and strings that span multiple lines can cause227" problems. To play it safe, set minlines to a large number.228syn sync minlines=200229" Use ccomment for /* */ style comments230syn sync ccomment dBlockComment231 232" Characters233"234syn match dSpecialCharError contained "[^']"235 236" Escape sequences (oct,specal char,hex,wchar, character entities \&xxx;)237" These are not contained because they are considered string literals.238syn match dEscSequence "\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)"239syn match dEscSequence "\\&[^;& \t]\+;"240syn match dCharacter "'[^']*'" contains=dEscSequence,dSpecialCharError241syn match dCharacter "'\\''" contains=dEscSequence242syn match dCharacter "'[^\\]'"243 244syn cluster dTokens add=dEscSequence,dCharacter245 246" Unicode characters247"248syn match dUnicode "\\u\d\{4\}"249 250" String.251"252syn match dFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained253syn match dFormat display "%%" contained254 255syn region dString start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dFormat,dEscSequence,@Spell256syn region dRawString start=+`+ end=+`[cwd]\=+ contains=@Spell257syn region dRawString start=+r"+ end=+"[cwd]\=+ contains=@Spell258syn region dHexString start=+x"+ end=+"[cwd]\=+ contains=@Spell259syn region dDelimString start=+q"\z(.\)+ end=+\z1"+ contains=@Spell260syn region dHereString start=+q"\z(\I\i*\)\n+ end=+^\z1"+ contains=@Spell261 262 263" Nesting delimited string contents264"265syn region dNestParenString start=+(+ end=+)+ contained transparent contains=dNestParenString,@Spell266syn region dNestBrackString start=+\[+ end=+\]+ contained transparent contains=dNestBrackString,@Spell267syn region dNestAngleString start=+<+ end=+>+ contained transparent contains=dNestAngleString,@Spell268syn region dNestCurlyString start=+{+ end=+}+ contained transparent contains=dNestCurlyString,@Spell269 270" Nesting delimited strings271"272syn region dParenString matchgroup=dParenString start=+q"(+ end=+)"+ contains=dNestParenString,@Spell273syn region dBrackString matchgroup=dBrackString start=+q"\[+ end=+\]"+ contains=dNestBrackString,@Spell274syn region dAngleString matchgroup=dAngleString start=+q"<+ end=+>"+ contains=dNestAngleString,@Spell275syn region dCurlyString matchgroup=dCurlyString start=+q"{+ end=+}"+ contains=dNestCurlyString,@Spell276 277hi link dParenString dNestString278hi link dBrackString dNestString279hi link dAngleString dNestString280hi link dCurlyString dNestString281 282syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString283 284" Token strings285"286syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens,dFormat287syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens,dFormat288 289syn cluster dTokens add=dTokenString290 291" Numbers292"293syn case ignore294 295syn match dDec display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>"296 297" Hex number298syn match dHex display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>"299 300syn match dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>"301" flag an octal number with wrong digits302syn match dOctalError display "\<0[0-7_]*[89][0-9_]*"303 304" binary numbers305syn match dBinary display "\<0b[01_]\+\(u\=l\=\|l\=u\=\)\>"306 307"floating point without the dot308syn match dFloat display "\<\d[0-9_]*\(fi\=\|l\=i\)\>"309"floating point number, with dot, optional exponent310syn match dFloat display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\="311"floating point number, starting with a dot, optional exponent312syn match dFloat display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>"313"floating point number, without dot, with exponent314"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>"315syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>"316 317"floating point without the dot318syn match dHexFloat display "\<0x[0-9a-f_]\+\(fi\=\|l\=i\)\>"319"floating point number, with dot, optional exponent320syn match dHexFloat display "\<0x[0-9a-f_]\+\.[0-9a-f_]*\(p[-+]\=[0-9_]\+\)\=[fl]\=i\="321"floating point number, without dot, with exponent322syn match dHexFloat display "\<0x[0-9a-f_]\+p[-+]\=[0-9_]\+[fl]\=i\=\>"323 324syn cluster dTokens add=dDec,dHex,dOctal,dOctalError,dBinary,dFloat,dHexFloat325 326syn case match327 328" Pragma (preprocessor) support329" TODO: Highlight following Integer and optional Filespec.330syn region dPragma start="#\s*\(line\>\)" skip="\\$" end="$"331 332" Block333"334syn region dBlock start="{" end="}" transparent fold335 336 337" The default highlighting.338"339hi def link dBinary Number340hi def link dDec Number341hi def link dHex Number342hi def link dOctal Number343hi def link dFloat Float344hi def link dHexFloat Float345hi def link dDebug Debug346hi def link dBranch Conditional347hi def link dConditional Conditional348hi def link dLabel Label349hi def link dUserLabel Label350hi def link dRepeat Repeat351hi def link dExceptions Exception352hi def link dAssert Statement353hi def link dStatement Statement354hi def link dScopeDecl dStorageClass355hi def link dStorageClass StorageClass356hi def link dBoolean Boolean357hi def link dUnicode Special358hi def link dTokenStringBrack String359hi def link dHereString String360hi def link dNestString String361hi def link dDelimString String362hi def link dRawString String363hi def link dString String364hi def link dHexString String365hi def link dCharacter Character366hi def link dEscSequence SpecialChar367hi def link dFormat SpecialChar368hi def link dSpecialCharError Error369hi def link dOctalError Error370hi def link dOperator Operator371hi def link dOpOverload Identifier372hi def link dConstant Constant373hi def link dTypedef Typedef374hi def link dEnum Structure375hi def link dStructure Structure376hi def link dTodo Todo377hi def link dType Type378hi def link dLineComment Comment379hi def link dBlockComment Comment380hi def link dNestedComment Comment381hi def link dCommentError Error382hi def link dNestedCommentError Error383hi def link dCommentStartError Error384hi def link dExternal Include385hi def link dAnnotation PreProc386hi def link dSharpBang PreProc387hi def link dAttribute StorageClass388hi def link dIdentifier Identifier389hi def link dVersion dStatement390hi def link dVersionIdentifier Identifier391hi def link dScopeIdentifier Identifier392hi def link dTraitsIdentifier Identifier393hi def link dPragma PreProc394hi def link dPragmaIdentifier Identifier395hi def link dExtern dExternal396hi def link dExternIdentifier Identifier397 398" Marks contents of the asm statment body as special399 400syn match dAsmStatement "\<asm\>"401syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode,@dComment,DUserLabel402 403hi def link dAsmBody dUnicode404hi def link dAsmStatement dStatement405hi def link dAsmOpCode Identifier406 407syn keyword dAsmOpCode contained aaa aad aam aas408syn keyword dAsmOpCode contained add addpd addps addsd409syn keyword dAsmOpCode contained and andnpd andnps andpd410syn keyword dAsmOpCode contained arpl bound bsf bsr411syn keyword dAsmOpCode contained bt btc btr bts412syn keyword dAsmOpCode contained call bswap andps addss413syn keyword dAsmOpCode contained cbw cdq clc cld414syn keyword dAsmOpCode contained cli clts cmc cmova415syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove416syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna417syn keyword dAsmOpCode contained cmovnae cmovg cmovae clflush418syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne419syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno420syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp421syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp422syn keyword dAsmOpCode contained cmppd cmovpe cmovnp cmovng423syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd424syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd425syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq426syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq427syn keyword dAsmOpCode contained cvtps2pd cvtpd2pi comiss cmpss428syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd429syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi430syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd431syn keyword dAsmOpCode contained da daa das db432syn keyword dAsmOpCode contained dd cwde cvttps2dq cvtsi2ss433syn keyword dAsmOpCode contained de dec df di434syn keyword dAsmOpCode contained divpd divps divsd divss435syn keyword dAsmOpCode contained dq ds dt dw436syn keyword dAsmOpCode contained enter f2xm1 fabs fadd437syn keyword dAsmOpCode contained faddp emms dl div438syn keyword dAsmOpCode contained fbld fbstp fchs fclex439syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe440syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi441syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp442syn keyword dAsmOpCode contained fdisi fcomip fcmovne fcmovb443syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp444syn keyword dAsmOpCode contained ffree fiadd ficom ficomp445syn keyword dAsmOpCode contained fidivr fild fimul fincstp446syn keyword dAsmOpCode contained fist fistp fisub fisubr447syn keyword dAsmOpCode contained fld finit fidiv feni448syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e449syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz450syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni451syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv452syn keyword dAsmOpCode contained fnstsw fninit fmul fldl2t453syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan454syn keyword dAsmOpCode contained frstor fsave fscale fsetpm455syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw456syn keyword dAsmOpCode contained fstp fstsw fsub fsubp457syn keyword dAsmOpCode contained fsubr fstenv fsin frndint458syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi459syn keyword dAsmOpCode contained fucomp fucompp fwait fxam460syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x461syn keyword dAsmOpCode contained hlt idiv imul in462syn keyword dAsmOpCode contained inc fyl2xp1 fxch fucomip463syn keyword dAsmOpCode contained ins insb insd insw464syn keyword dAsmOpCode contained into invd invlpg iret465syn keyword dAsmOpCode contained ja jae jb jbe466syn keyword dAsmOpCode contained jcxz je jecxz jg467syn keyword dAsmOpCode contained jge jc iretd int468syn keyword dAsmOpCode contained jl jle jmp jna469syn keyword dAsmOpCode contained jnb jnbe jnc jne470syn keyword dAsmOpCode contained jnge jnl jnle jno471syn keyword dAsmOpCode contained jns jnz jo jp472syn keyword dAsmOpCode contained jpe jnp jng jnae473syn keyword dAsmOpCode contained jpo js jz lahf474syn keyword dAsmOpCode contained ldmxcsr lds lea leave475syn keyword dAsmOpCode contained lfence lfs lgdt lgs476syn keyword dAsmOpCode contained lldt lmsw lock lods477syn keyword dAsmOpCode contained lodsb lidt les lar478syn keyword dAsmOpCode contained lodsd lodsw loop loope479syn keyword dAsmOpCode contained loopnz loopz lsl lss480syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps481syn keyword dAsmOpCode contained maxss mfence minpd minps482syn keyword dAsmOpCode contained minsd maxsd ltr loopne483syn keyword dAsmOpCode contained minss mov movapd movaps484syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps485syn keyword dAsmOpCode contained movhps movlhps movlpd movlps486syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd487syn keyword dAsmOpCode contained movntps movmskpd movhpd movd488syn keyword dAsmOpCode contained movntq movq movq2dq movs489syn keyword dAsmOpCode contained movsd movss movsw movsx490syn keyword dAsmOpCode contained movups movzx mul mulpd491syn keyword dAsmOpCode contained mulsd mulss neg nop492syn keyword dAsmOpCode contained not mulps movupd movsb493syn keyword dAsmOpCode contained or orpd orps out494syn keyword dAsmOpCode contained outsb outsd outsw packssdw495syn keyword dAsmOpCode contained packuswb paddb paddd paddq496syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw497syn keyword dAsmOpCode contained pand paddsb packsswb outs498syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb499syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw500syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub501syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw502syn keyword dAsmOpCode contained pmullw pminsw pextrw pcmpeqd503syn keyword dAsmOpCode contained pmuludq pop popa popad504syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0505syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw506syn keyword dAsmOpCode contained pshufw pslld pslldq psllq507syn keyword dAsmOpCode contained psllw pshuflw prefetcht1 popf508syn keyword dAsmOpCode contained psrad psraw psrld psrldq509syn keyword dAsmOpCode contained psrlw psubb psubd psubq510syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw511syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw512syn keyword dAsmOpCode contained punpckldq punpckhbw psubsb psrlq513syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha514syn keyword dAsmOpCode contained pushf pushfd pxor rcl515syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc516syn keyword dAsmOpCode contained rep repe repne repnz517syn keyword dAsmOpCode contained repz rdtsc rcpps pushad518syn keyword dAsmOpCode contained ret retf rol ror519syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal520syn keyword dAsmOpCode contained sbb scas scasb scasd521syn keyword dAsmOpCode contained seta setae setb setbe522syn keyword dAsmOpCode contained setc scasw sar rsm523syn keyword dAsmOpCode contained sete setg setge setl524syn keyword dAsmOpCode contained setna setnae setnb setnbe525syn keyword dAsmOpCode contained setne setng setnge setnl526syn keyword dAsmOpCode contained setno setnp setns setnz527syn keyword dAsmOpCode contained seto setnle setnc setle528syn keyword dAsmOpCode contained setp setpe setpo sets529syn keyword dAsmOpCode contained sfence sgdt shl shld530syn keyword dAsmOpCode contained shrd shufpd shufps sidt531syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd532syn keyword dAsmOpCode contained sqrtss sldt shr setz533syn keyword dAsmOpCode contained stc std sti stmxcsr534syn keyword dAsmOpCode contained stosb stosd stosw str535syn keyword dAsmOpCode contained subpd subps subsd subss536syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss537syn keyword dAsmOpCode contained ud2 sysenter sub stos538syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps539syn keyword dAsmOpCode contained verw wbinvd wrmsr xadd540syn keyword dAsmOpCode contained xchg xlatb xor xorpd541syn keyword dAsmOpCode contained xorps pfrcpit1 pfmin movddup542syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddps543syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor544syn keyword dAsmOpCode contained haddpd xlat wait verr545syn keyword dAsmOpCode contained movshdup movsldup mwait pfcmpeq546syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd547syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmul548syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1549syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr550syn keyword dAsmOpCode contained pmulhrw pswapd syscall sysret551syn keyword dAsmOpCode contained vpmuldq xgetbv cmpxchg8b cmpxchg16b552syn keyword dAsmOpCode contained pabsb pabsd pabsw palignr553syn keyword dAsmOpCode contained phaddd phaddsw phaddw phsubd554syn keyword dAsmOpCode contained phsubsw phsubw pmaddubsw pmulhrsw555syn keyword dAsmOpCode contained pshufb psignb psignd psignw556syn keyword dAsmOpCode contained popfq pushfq blendpd blendps557syn keyword dAsmOpCode contained blendvpd blendvps extractps insertps558syn keyword dAsmOpCode contained movntdqa mpsadbw packusdw pblendvb559syn keyword dAsmOpCode contained pblendw pcmpeqq pextrb pextrd560syn keyword dAsmOpCode contained pextrq phminposuw pinsrb pinsrd561syn keyword dAsmOpCode contained pinsrq pmaxsb pmaxsd pmaxud562syn keyword dAsmOpCode contained pmaxuw pminsb pminsd pminud563syn keyword dAsmOpCode contained pminuw pmulld ptest roundpd564syn keyword dAsmOpCode contained roundps roundsd roundss pmuldq565syn keyword dAsmOpCode contained pmovsxbd pmovsxdq pmovzxbq pmovzxdq566syn keyword dAsmOpCode contained pmovsxbq pmovsxwd pmovzxbq pmovzxwd567syn keyword dAsmOpCode contained pmovsxbw pmovsxwq pmovzxbw pmovzxwq568syn keyword dAsmOpCode contained crc32 pcmpestri pcmpestrm pcmpgtq569syn keyword dAsmOpCode contained pcmpistri pcmpistrm popcnt pi2fd570syn keyword dAsmOpCode contained adc571 572let &cpo = s:cpo_save573unlet s:cpo_save574 