mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			504 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			504 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file for the D programming language (version 1.053 and 2.047).
 | |
| "
 | |
| " Language:     D
 | |
| " Maintainer:   Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
 | |
| " Last Change:  2012 Jan 11
 | |
| " Version:      0.24
 | |
| "
 | |
| " Contributors:
 | |
| "   - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
 | |
| "   - Kirk McDonald
 | |
| "   - Tim Keating
 | |
| "   - Frank Benoit
 | |
| "   - Shougo Matsushita <Shougo.Matsu@gmail.com>
 | |
| "   - Ellery Newcomer
 | |
| "   - Steven N. Oliver
 | |
| "   - Sohgo Takeuchi
 | |
| "
 | |
| " Please submit bugs/comments/suggestions to the github repo: 
 | |
| " https://github.com/he-the-great/d.vim
 | |
| "
 | |
| " Options:
 | |
| "   d_comment_strings - Set to highlight strings and numbers in comments.
 | |
| "
 | |
| "   d_hl_operator_overload - Set to highlight D's specially named functions
 | |
| "   that when overloaded implement unary and binary operators (e.g. opCmp).
 | |
| "
 | |
| "   d_hl_object_types - Set to highlight some common types from object.di.
 | |
| 
 | |
| " Quit when a syntax file was already loaded
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| " Support cpoptions
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| " Set the current syntax to be known as d
 | |
| let b:current_syntax = "d"
 | |
| 
 | |
| " Keyword definitions
 | |
| "
 | |
| syn keyword dExternal              import module
 | |
| syn keyword dConditional           if else switch
 | |
| syn keyword dBranch                goto break continue
 | |
| syn keyword dRepeat                while for do foreach foreach_reverse
 | |
| syn keyword dBoolean               true false
 | |
| syn keyword dConstant              null
 | |
| syn keyword dConstant              __FILE__ __LINE__ __EOF__ __VERSION__
 | |
| syn keyword dConstant              __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
 | |
| syn keyword dTypedef               alias typedef
 | |
| syn keyword dStructure             template interface class struct union
 | |
| syn keyword dEnum                  enum
 | |
| syn keyword dOperator              new delete typeof typeid cast align is
 | |
| syn keyword dOperator              this super
 | |
| if exists("d_hl_operator_overload")
 | |
|   syn keyword dOpOverload          opNeg opCom opPostInc opPostDec opCast opAdd
 | |
|   syn keyword dOpOverload          opSub opSub_r opMul opDiv opDiv_r opMod 
 | |
|   syn keyword dOpOverload          opMod_r opAnd opOr opXor opShl opShl_r opShr
 | |
|   syn keyword dOpOverload          opShr_r opUShr opUShr_r opCat
 | |
|   syn keyword dOpOverload          opCat_r opEquals opEquals opCmp
 | |
|   syn keyword dOpOverload          opAssign opAddAssign opSubAssign opMulAssign
 | |
|   syn keyword dOpOverload          opDivAssign opModAssign opAndAssign 
 | |
|   syn keyword dOpOverload          opOrAssign opXorAssign opShlAssign 
 | |
|   syn keyword dOpOverload          opShrAssign opUShrAssign opCatAssign
 | |
|   syn keyword dOpOverload          opIndex opIndexAssign opIndexOpAssign
 | |
|   syn keyword dOpOverload          opCall opSlice opSliceAssign opSliceOpAssign 
 | |
|   syn keyword dOpOverload          opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r
 | |
|   syn keyword dOpOverload          opIn opIn_r opPow opDispatch opStar opDot 
 | |
|   syn keyword dOpOverload          opApply opApplyReverse opDollar
 | |
|   syn keyword dOpOverload          opUnary opIndexUnary opSliceUnary
 | |
|   syn keyword dOpOverload          opBinary opBinaryRight
 | |
| endif
 | |
| 
 | |
| syn keyword dType                  byte ubyte short ushort int uint long ulong cent ucent
 | |
| syn keyword dType                  void bool bit
 | |
| syn keyword dType                  float double real
 | |
| syn keyword dType                  ushort int uint long ulong float
 | |
| syn keyword dType                  char wchar dchar string wstring dstring
 | |
| syn keyword dType                  ireal ifloat idouble creal cfloat cdouble
 | |
| syn keyword dType                  size_t ptrdiff_t sizediff_t equals_t hash_t
 | |
| if exists("d_hl_object_types")
 | |
|   syn keyword dType                Object Throwable AssociativeArray Error Exception
 | |
|   syn keyword dType                Interface OffsetTypeInfo TypeInfo TypeInfo_Typedef
 | |
|   syn keyword dType                TypeInfo_Enum TypeInfo_Pointer TypeInfo_Array
 | |
|   syn keyword dType                TypeInfo_StaticArray TypeInfo_AssociativeArray
 | |
|   syn keyword dType                TypeInfo_Function TypeInfo_Delegate TypeInfo_Class
 | |
|   syn keyword dType                ClassInfo TypeInfo_Interface TypeInfo_Struct
 | |
|   syn keyword dType                TypeInfo_Tuple TypeInfo_Const TypeInfo_Invariant
 | |
|   syn keyword dType                TypeInfo_Shared TypeInfo_Inout MemberInfo
 | |
|   syn keyword dType                MemberInfo_field MemberInfo_function ModuleInfo
 | |
| endif
 | |
| syn keyword dDebug                 deprecated unittest invariant
 | |
| syn keyword dExceptions            throw try catch finally
 | |
| syn keyword dScopeDecl             public protected private export package 
 | |
| syn keyword dStatement             debug return with
 | |
| syn keyword dStatement             function delegate __ctfe mixin macro
 | |
| syn keyword dStorageClass          in out inout ref lazy body
 | |
| syn keyword dStorageClass          pure nothrow
 | |
| syn keyword dStorageClass          auto static override final abstract volatile
 | |
| syn keyword dStorageClass          __gshared __thread
 | |
| syn keyword dStorageClass          synchronized shared immutable const lazy
 | |
| syn keyword dPragma                pragma
 | |
| syn keyword dIdentifier            _arguments _argptr __vptr __monitor _ctor _dtor
 | |
| syn keyword dScopeIdentifier       contained exit success failure
 | |
| syn keyword dTraitsIdentifier      contained isAbstractClass isArithmetic isAssociativeArray
 | |
| syn keyword dTraitsIdentifier      contained isFinalClass isFloating isIntegral isScalar
 | |
| syn keyword dTraitsIdentifier      contained isStaticArray isUnsigned isVirtualFunction
 | |
| syn keyword dTraitsIdentifier      contained isAbstractFunction isFinalFunction isStaticFunction
 | |
| syn keyword dTraitsIdentifier      contained isRef isOut isLazy hasMember identifier getMember
 | |
| syn keyword dTraitsIdentifier      contained getOverloads getVirtualFunctions parent compiles
 | |
| syn keyword dTraitsIdentifier      contained classInstanceSize allMembers derivedMembers isSame
 | |
| syn keyword dExternIdentifier      contained Windows Pascal Java System D
 | |
| syn keyword dAttribute             contained safe trusted system
 | |
| syn keyword dAttribute             contained property disable
 | |
| syn keyword dVersionIdentifier     contained DigitalMars GNU LDC SDC D_NET
 | |
| syn keyword dVersionIdentifier     contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha
 | |
| syn keyword dVersionIdentifier     contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64
 | |
| syn keyword dVersionIdentifier     contained linux Posix OSX FreeBSD Windows Win32 Win64
 | |
| syn keyword dVersionIdentifier     contained OpenBSD BSD Solaris AIX SkyOS SysV3 SysV4 Hurd
 | |
| syn keyword dVersionIdentifier     contained Cygwin MinGW
 | |
| syn keyword dVersionIdentifier     contained LittleEndian BigEndian
 | |
| syn keyword dVersionIdentifier     contained D_InlineAsm_X86 D_InlineAsm_X86_64
 | |
| syn keyword dVersionIdentifier     contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC
 | |
| syn keyword dVersionIdentifier     contained unittest none all
 | |
| 
 | |
| " Highlight the sharpbang
 | |
| syn match dSharpBang "\%^#!.*"     display
 | |
| 
 | |
| " Attributes/annotations
 | |
| syn match dAnnotation	"@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
 | |
| 
 | |
| " Version Identifiers
 | |
| syn match dVersion   "[^.]\<version\>"hs=s+1 nextgroup=dVersionInside
 | |
| syn match dVersion   "^\<version\>" nextgroup=dVersionInside
 | |
| syn match dVersionInside  "\s*([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
 | |
| 
 | |
| " Scope StorageClass
 | |
| syn match dStorageClass   "\<scope\>"
 | |
| 
 | |
| " Traits Expression
 | |
| syn match dStatement    "\<__traits\>"
 | |
| 
 | |
| " Extern Modifier
 | |
| syn match dExternal     "\<extern\>"
 | |
| 
 | |
| " Scope Identifiers
 | |
| syn match dScope	"\<scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
 | |
| 
 | |
| " Traits Identifiers
 | |
| syn match dTraits       "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dTraitsIdentifier
 | |
| 
 | |
| " Necessary to highlight C++ in extern modifiers.
 | |
| syn match dExternIdentifier "C\(++\)\?" contained
 | |
| 
 | |
| " Extern Identifiers
 | |
| syn match dExtern       "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
 | |
| 
 | |
| " String is a statement and a module name.
 | |
| syn match dType "[^.]\<string\>"ms=s+1
 | |
| syn match dType "^\<string\>"
 | |
| 
 | |
| " Assert is a statement and a module name.
 | |
| syn match dAssert "[^.]\<assert\>"ms=s+1
 | |
| syn match dAssert "^\<assert\>"
 | |
| 
 | |
| " dTokens is used by the token string highlighting
 | |
| syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
 | |
| syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
 | |
| syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
 | |
| syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
 | |
| 
 | |
| 
 | |
| " Labels
 | |
| "
 | |
| " We contain dScopeDecl so public: private: etc. are not highlighted like labels
 | |
| syn match dUserLabel    "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum
 | |
| syn keyword dLabel      case default
 | |
| 
 | |
| syn cluster dTokens add=dUserLabel,dLabel
 | |
| 
 | |
| " Comments
 | |
| "
 | |
| syn keyword dTodo                                                                contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
 | |
| syn match dCommentStar	contained "^\s*\*[^/]"me=e-1
 | |
| syn match dCommentStar	contained "^\s*\*$"
 | |
| syn match dCommentPlus	contained "^\s*+[^/]"me=e-1
 | |
| syn match dCommentPlus	contained "^\s*+$"
 | |
| if exists("d_comment_strings")
 | |
|   syn region dBlockCommentString	contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell
 | |
|   syn region dNestedCommentString	contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell
 | |
|   syn region dLineCommentString		contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
 | |
|   syn region dBlockComment	start="/\*"  end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
 | |
|   syn region dNestedComment	start="/+"  end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
 | |
|   syn match  dLineComment	"//.*" contains=dLineCommentString,dTodo,@Spell
 | |
| else
 | |
|   syn region dBlockComment	start="/\*"  end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
 | |
|   syn region dNestedComment	start="/+"  end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
 | |
|   syn match  dLineComment	"//.*" contains=dLineCommentString,dTodo,@Spell
 | |
| endif
 | |
| 
 | |
| hi link dLineCommentString	dBlockCommentString
 | |
| hi link dBlockCommentString	dString
 | |
| hi link dNestedCommentString	dString
 | |
| hi link dCommentStar		dBlockComment
 | |
| hi link dCommentPlus		dNestedComment
 | |
| 
 | |
| syn cluster dTokens add=dBlockComment,dNestedComment,dLineComment
 | |
| 
 | |
| " /+ +/ style comments and strings that span multiple lines can cause
 | |
| " problems. To play it safe, set minlines to a large number.
 | |
| syn sync minlines=200
 | |
| " Use ccomment for /* */ style comments
 | |
| syn sync ccomment dBlockComment
 | |
| 
 | |
| " Characters
 | |
| "
 | |
| syn match dSpecialCharError contained "[^']"
 | |
| 
 | |
| " Escape sequences (oct,specal char,hex,wchar, character entities \&xxx;)
 | |
| " These are not contained because they are considered string literals.
 | |
| syn match dEscSequence	"\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)"
 | |
| syn match dEscSequence	"\\&[^;& \t]\+;"
 | |
| syn match dCharacter	"'[^']*'" contains=dEscSequence,dSpecialCharError
 | |
| syn match dCharacter	"'\\''" contains=dEscSequence
 | |
| syn match dCharacter	"'[^\\]'"
 | |
| 
 | |
| syn cluster dTokens add=dEscSequence,dCharacter
 | |
| 
 | |
| " Unicode characters
 | |
| "
 | |
| syn match dUnicode "\\u\d\{4\}"
 | |
| 
 | |
| " String.
 | |
| "
 | |
| syn region dString	start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dEscSequence,@Spell
 | |
| syn region dRawString	start=+`+ end=+`[cwd]\=+ contains=@Spell
 | |
| syn region dRawString	start=+r"+ end=+"[cwd]\=+ contains=@Spell
 | |
| syn region dHexString	start=+x"+ end=+"[cwd]\=+ contains=@Spell
 | |
| syn region dDelimString	start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
 | |
| syn region dHereString	start=+q"\z(\I\i*\)\n+ end=+\n\z1"+ contains=@Spell
 | |
| 
 | |
| " Nesting delimited string contents
 | |
| "
 | |
| syn region dNestParenString start=+(+ end=+)+ contained transparent contains=dNestParenString,@Spell
 | |
| syn region dNestBrackString start=+\[+ end=+\]+ contained transparent contains=dNestBrackString,@Spell
 | |
| syn region dNestAngleString start=+<+ end=+>+ contained transparent contains=dNestAngleString,@Spell
 | |
| syn region dNestCurlyString start=+{+ end=+}+ contained transparent contains=dNestCurlyString,@Spell
 | |
| 
 | |
| " Nesting delimited strings
 | |
| "
 | |
| syn region dParenString	matchgroup=dParenString start=+q"(+ end=+)"+ contains=dNestParenString,@Spell
 | |
| syn region dBrackString	matchgroup=dBrackString start=+q"\[+ end=+\]"+ contains=dNestBrackString,@Spell
 | |
| syn region dAngleString	matchgroup=dAngleString start=+q"<+ end=+>"+ contains=dNestAngleString,@Spell
 | |
| syn region dCurlyString	matchgroup=dCurlyString start=+q"{+ end=+}"+ contains=dNestCurlyString,@Spell
 | |
| 
 | |
| hi link dParenString dNestString
 | |
| hi link dBrackString dNestString
 | |
| hi link dAngleString dNestString
 | |
| hi link dCurlyString dNestString
 | |
| 
 | |
| syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString
 | |
| 
 | |
| " Token strings
 | |
| "
 | |
| syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens
 | |
| syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens
 | |
| 
 | |
| syn cluster dTokens add=dTokenString
 | |
| 
 | |
| " Numbers
 | |
| "
 | |
| syn case ignore
 | |
| 
 | |
| syn match dDec		display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>"
 | |
| 
 | |
| " Hex number
 | |
| syn match dHex		display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>"
 | |
| 
 | |
| syn match dOctal	display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>"
 | |
| " flag an octal number with wrong digits
 | |
| syn match dOctalError	display "\<0[0-7_]*[89][0-9_]*"
 | |
| 
 | |
| " binary numbers
 | |
| syn match dBinary	display "\<0b[01_]\+\(u\=l\=\|l\=u\=\)\>"
 | |
| 
 | |
| "floating point without the dot
 | |
| syn match dFloat	display "\<\d[0-9_]*\(fi\=\|l\=i\)\>"
 | |
| "floating point number, with dot, optional exponent
 | |
| syn match dFloat	display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\="
 | |
| "floating point number, starting with a dot, optional exponent
 | |
| syn match dFloat	display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>"
 | |
| "floating point number, without dot, with exponent
 | |
| "syn match dFloat	display "\<\d\+e[-+]\=\d\+[fl]\=\>"
 | |
| syn match dFloat	display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>"
 | |
| 
 | |
| "floating point without the dot
 | |
| syn match dHexFloat	display "\<0x[0-9a-f_]\+\(fi\=\|l\=i\)\>"
 | |
| "floating point number, with dot, optional exponent
 | |
| syn match dHexFloat	display "\<0x[0-9a-f_]\+\.[0-9a-f_]*\(p[-+]\=[0-9_]\+\)\=[fl]\=i\="
 | |
| "floating point number, without dot, with exponent
 | |
| syn match dHexFloat	display "\<0x[0-9a-f_]\+p[-+]\=[0-9_]\+[fl]\=i\=\>"
 | |
| 
 | |
| syn cluster dTokens add=dDec,dHex,dOctal,dOctalError,dBinary,dFloat,dHexFloat
 | |
| 
 | |
| syn case match
 | |
| 
 | |
| " Pragma (preprocessor) support
 | |
| " TODO: Highlight following Integer and optional Filespec.
 | |
| syn region  dPragma start="#\s*\(line\>\)" skip="\\$" end="$"
 | |
| 
 | |
| " Block
 | |
| "
 | |
| syn region dBlock	start="{" end="}" transparent fold
 | |
| 
 | |
| 
 | |
| " The default highlighting.
 | |
| "
 | |
| hi def link dBinary              Number
 | |
| hi def link dDec                 Number
 | |
| hi def link dHex                 Number
 | |
| hi def link dOctal               Number
 | |
| hi def link dFloat               Float
 | |
| hi def link dHexFloat            Float
 | |
| hi def link dDebug               Debug
 | |
| hi def link dBranch              Conditional
 | |
| hi def link dConditional         Conditional
 | |
| hi def link dLabel               Label
 | |
| hi def link dUserLabel           Label
 | |
| hi def link dRepeat              Repeat
 | |
| hi def link dExceptions          Exception
 | |
| hi def link dAssert              Statement
 | |
| hi def link dStatement           Statement
 | |
| hi def link dScopeDecl           dStorageClass
 | |
| hi def link dStorageClass        StorageClass
 | |
| hi def link dBoolean             Boolean
 | |
| hi def link dUnicode             Special
 | |
| hi def link dTokenStringBrack    String
 | |
| hi def link dHereString          String
 | |
| hi def link dNestString          String
 | |
| hi def link dDelimString         String
 | |
| hi def link dRawString           String
 | |
| hi def link dString              String
 | |
| hi def link dHexString           String
 | |
| hi def link dCharacter           Character
 | |
| hi def link dEscSequence         SpecialChar
 | |
| hi def link dSpecialCharError    Error
 | |
| hi def link dOctalError          Error
 | |
| hi def link dOperator            Operator
 | |
| hi def link dOpOverload          Identifier
 | |
| hi def link dConstant            Constant
 | |
| hi def link dTypedef             Typedef
 | |
| hi def link dEnum                Structure
 | |
| hi def link dStructure           Structure
 | |
| hi def link dTodo                Todo
 | |
| hi def link dType                Type
 | |
| hi def link dLineComment         Comment
 | |
| hi def link dBlockComment        Comment
 | |
| hi def link dNestedComment       Comment
 | |
| hi def link dExternal            Include
 | |
| hi def link dPragma              PreProc
 | |
| hi def link dAnnotation          PreProc
 | |
| hi def link dSharpBang           PreProc
 | |
| hi def link dAttribute           StorageClass
 | |
| hi def link dIdentifier          Identifier
 | |
| hi def link dVersion             dStatement
 | |
| hi def link dVersionIdentifier   Identifier
 | |
| hi def link dScope               dStorageClass
 | |
| hi def link dScopeIdentifier     Identifier
 | |
| hi def link dTraits              dStatement
 | |
| hi def link dTraitsIdentifier    Identifier
 | |
| hi def link dExtern              dExternal
 | |
| hi def link dExternIdentifier    Identifier
 | |
| 
 | |
| " Marks contents of the asm statment body as special
 | |
| 
 | |
| syn match dAsmStatement "\<asm\>"
 | |
| syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode
 | |
| 
 | |
| hi def link dAsmBody dUnicode
 | |
| hi def link dAsmStatement dStatement
 | |
| hi def link dAsmOpCode Identifier
 | |
| 
 | |
| syn keyword dAsmOpCode contained	aaa  	aad  	aam  	aas  	adc
 | |
| syn keyword dAsmOpCode contained	add 	addpd 	addps 	addsd 	addss
 | |
| syn keyword dAsmOpCode contained	and 	andnpd 	andnps 	andpd 	andps
 | |
| syn keyword dAsmOpCode contained	arpl 	bound 	bsf 	bsr 	bswap
 | |
| syn keyword dAsmOpCode contained	bt 	btc 	btr 	bts 	call
 | |
| syn keyword dAsmOpCode contained	cbw 	cdq 	clc 	cld 	clflush
 | |
| syn keyword dAsmOpCode contained	cli 	clts 	cmc 	cmova 	cmovae
 | |
| syn keyword dAsmOpCode contained	cmovb 	cmovbe 	cmovc 	cmove 	cmovg
 | |
| syn keyword dAsmOpCode contained	cmovge 	cmovl 	cmovle 	cmovna 	cmovnae
 | |
| syn keyword dAsmOpCode contained	cmovnb 	cmovnbe 	cmovnc 	cmovne 	cmovng
 | |
| syn keyword dAsmOpCode contained	cmovnge 	cmovnl 	cmovnle 	cmovno 	cmovnp
 | |
| syn keyword dAsmOpCode contained	cmovns 	cmovnz 	cmovo 	cmovp 	cmovpe
 | |
| syn keyword dAsmOpCode contained	cmovpo 	cmovs 	cmovz 	cmp 	cmppd
 | |
| syn keyword dAsmOpCode contained	cmpps 	cmps 	cmpsb 	cmpsd 	cmpss
 | |
| syn keyword dAsmOpCode contained	cmpsw 	cmpxch8b 	cmpxchg 	comisd 	comiss
 | |
| syn keyword dAsmOpCode contained	cpuid 	cvtdq2pd 	cvtdq2ps 	cvtpd2dq 	cvtpd2pi
 | |
| syn keyword dAsmOpCode contained	cvtpd2ps 	cvtpi2pd 	cvtpi2ps 	cvtps2dq 	cvtps2pd
 | |
| syn keyword dAsmOpCode contained	cvtps2pi 	cvtsd2si 	cvtsd2ss 	cvtsi2sd 	cvtsi2ss
 | |
| syn keyword dAsmOpCode contained	cvtss2sd 	cvtss2si 	cvttpd2dq 	cvttpd2pi 	cvttps2dq
 | |
| syn keyword dAsmOpCode contained	cvttps2pi 	cvttsd2si 	cvttss2si 	cwd 	cwde
 | |
| syn keyword dAsmOpCode contained	da 	daa 	das 	db 	dd
 | |
| syn keyword dAsmOpCode contained	de 	dec 	df 	di 	div
 | |
| syn keyword dAsmOpCode contained	divpd 	divps 	divsd 	divss 	dl
 | |
| syn keyword dAsmOpCode contained	dq 	ds 	dt 	dw 	emms
 | |
| syn keyword dAsmOpCode contained	enter 	f2xm1 	fabs 	fadd 	faddp
 | |
| syn keyword dAsmOpCode contained	fbld 	fbstp 	fchs 	fclex 	fcmovb
 | |
| syn keyword dAsmOpCode contained	fcmovbe 	fcmove 	fcmovnb 	fcmovnbe 	fcmovne
 | |
| syn keyword dAsmOpCode contained	fcmovnu 	fcmovu 	fcom 	fcomi 	fcomip
 | |
| syn keyword dAsmOpCode contained	fcomp 	fcompp 	fcos 	fdecstp 	fdisi
 | |
| syn keyword dAsmOpCode contained	fdiv 	fdivp 	fdivr 	fdivrp 	feni
 | |
| syn keyword dAsmOpCode contained	ffree 	fiadd 	ficom 	ficomp 	fidiv
 | |
| syn keyword dAsmOpCode contained	fidivr 	fild 	fimul 	fincstp 	finit
 | |
| syn keyword dAsmOpCode contained	fist 	fistp 	fisub 	fisubr 	fld
 | |
| syn keyword dAsmOpCode contained	fld1 	fldcw 	fldenv 	fldl2e 	fldl2t
 | |
| syn keyword dAsmOpCode contained	fldlg2 	fldln2 	fldpi 	fldz 	fmul
 | |
| syn keyword dAsmOpCode contained	fmulp 	fnclex 	fndisi 	fneni 	fninit
 | |
| syn keyword dAsmOpCode contained	fnop 	fnsave 	fnstcw 	fnstenv 	fnstsw
 | |
| syn keyword dAsmOpCode contained	fpatan 	fprem 	fprem1 	fptan 	frndint
 | |
| syn keyword dAsmOpCode contained	frstor 	fsave 	fscale 	fsetpm 	fsin
 | |
| syn keyword dAsmOpCode contained	fsincos 	fsqrt 	fst 	fstcw 	fstenv
 | |
| syn keyword dAsmOpCode contained	fstp 	fstsw 	fsub 	fsubp 	fsubr
 | |
| syn keyword dAsmOpCode contained	fsubrp 	ftst 	fucom 	fucomi 	fucomip
 | |
| syn keyword dAsmOpCode contained	fucomp 	fucompp 	fwait 	fxam 	fxch
 | |
| syn keyword dAsmOpCode contained	fxrstor 	fxsave 	fxtract 	fyl2x 	fyl2xp1
 | |
| syn keyword dAsmOpCode contained	hlt 	idiv 	imul 	in 	inc
 | |
| syn keyword dAsmOpCode contained	ins 	insb 	insd 	insw 	int
 | |
| syn keyword dAsmOpCode contained	into 	invd 	invlpg 	iret 	iretd
 | |
| syn keyword dAsmOpCode contained	ja 	jae 	jb 	jbe 	jc
 | |
| syn keyword dAsmOpCode contained	jcxz 	je 	jecxz 	jg 	jge
 | |
| syn keyword dAsmOpCode contained	jl 	jle 	jmp 	jna 	jnae
 | |
| syn keyword dAsmOpCode contained	jnb 	jnbe 	jnc 	jne 	jng
 | |
| syn keyword dAsmOpCode contained	jnge 	jnl 	jnle 	jno 	jnp
 | |
| syn keyword dAsmOpCode contained	jns 	jnz 	jo 	jp 	jpe
 | |
| syn keyword dAsmOpCode contained	jpo 	js 	jz 	lahf 	lar
 | |
| syn keyword dAsmOpCode contained	ldmxcsr 	lds 	lea 	leave 	les
 | |
| syn keyword dAsmOpCode contained	lfence 	lfs 	lgdt 	lgs 	lidt
 | |
| syn keyword dAsmOpCode contained	lldt 	lmsw 	lock 	lods 	lodsb
 | |
| syn keyword dAsmOpCode contained	lodsd 	lodsw 	loop 	loope 	loopne
 | |
| syn keyword dAsmOpCode contained	loopnz 	loopz 	lsl 	lss 	ltr
 | |
| syn keyword dAsmOpCode contained	maskmovdqu 	maskmovq 	maxpd 	maxps 	maxsd
 | |
| syn keyword dAsmOpCode contained	maxss 	mfence 	minpd 	minps 	minsd
 | |
| syn keyword dAsmOpCode contained	minss 	mov 	movapd 	movaps 	movd
 | |
| syn keyword dAsmOpCode contained	movdq2q 	movdqa 	movdqu 	movhlps 	movhpd
 | |
| syn keyword dAsmOpCode contained	movhps 	movlhps 	movlpd 	movlps 	movmskpd
 | |
| syn keyword dAsmOpCode contained	movmskps 	movntdq 	movnti 	movntpd 	movntps
 | |
| syn keyword dAsmOpCode contained	movntq 	movq 	movq2dq 	movs 	movsb
 | |
| syn keyword dAsmOpCode contained	movsd 	movss 	movsw 	movsx 	movupd
 | |
| syn keyword dAsmOpCode contained	movups 	movzx 	mul 	mulpd 	mulps
 | |
| syn keyword dAsmOpCode contained	mulsd 	mulss 	neg 	nop 	not
 | |
| syn keyword dAsmOpCode contained	or 	orpd 	orps 	out 	outs
 | |
| syn keyword dAsmOpCode contained	outsb 	outsd 	outsw 	packssdw 	packsswb
 | |
| syn keyword dAsmOpCode contained	packuswb 	paddb 	paddd 	paddq 	paddsb
 | |
| syn keyword dAsmOpCode contained	paddsw 	paddusb 	paddusw 	paddw 	pand
 | |
| syn keyword dAsmOpCode contained	pandn 	pavgb 	pavgw 	pcmpeqb 	pcmpeqd
 | |
| syn keyword dAsmOpCode contained	pcmpeqw 	pcmpgtb 	pcmpgtd 	pcmpgtw 	pextrw
 | |
| syn keyword dAsmOpCode contained	pinsrw 	pmaddwd 	pmaxsw 	pmaxub 	pminsw
 | |
| syn keyword dAsmOpCode contained	pminub 	pmovmskb 	pmulhuw 	pmulhw 	pmullw
 | |
| syn keyword dAsmOpCode contained	pmuludq 	pop 	popa 	popad 	popf
 | |
| syn keyword dAsmOpCode contained	popfd 	por 	prefetchnta 	prefetcht0 	prefetcht1
 | |
| syn keyword dAsmOpCode contained	prefetcht2 	psadbw 	pshufd 	pshufhw 	pshuflw
 | |
| syn keyword dAsmOpCode contained	pshufw 	pslld 	pslldq 	psllq 	psllw
 | |
| syn keyword dAsmOpCode contained	psrad 	psraw 	psrld 	psrldq 	psrlq
 | |
| syn keyword dAsmOpCode contained	psrlw 	psubb 	psubd 	psubq 	psubsb
 | |
| syn keyword dAsmOpCode contained	psubsw 	psubusb 	psubusw 	psubw 	punpckhbw
 | |
| syn keyword dAsmOpCode contained	punpckhdq 	punpckhqdq 	punpckhwd 	punpcklbw 	punpckldq
 | |
| syn keyword dAsmOpCode contained	punpcklqdq 	punpcklwd 	push 	pusha 	pushad
 | |
| syn keyword dAsmOpCode contained	pushf 	pushfd 	pxor 	rcl 	rcpps
 | |
| syn keyword dAsmOpCode contained	rcpss 	rcr 	rdmsr 	rdpmc 	rdtsc
 | |
| syn keyword dAsmOpCode contained	rep 	repe 	repne 	repnz 	repz
 | |
| syn keyword dAsmOpCode contained	ret 	retf 	rol 	ror 	rsm
 | |
| syn keyword dAsmOpCode contained	rsqrtps 	rsqrtss 	sahf 	sal 	sar
 | |
| syn keyword dAsmOpCode contained	sbb 	scas 	scasb 	scasd 	scasw
 | |
| syn keyword dAsmOpCode contained	seta 	setae 	setb 	setbe 	setc
 | |
| syn keyword dAsmOpCode contained	sete 	setg 	setge 	setl 	setle
 | |
| syn keyword dAsmOpCode contained	setna 	setnae 	setnb 	setnbe 	setnc
 | |
| syn keyword dAsmOpCode contained	setne 	setng 	setnge 	setnl 	setnle
 | |
| syn keyword dAsmOpCode contained	setno 	setnp 	setns 	setnz 	seto
 | |
| syn keyword dAsmOpCode contained	setp 	setpe 	setpo 	sets 	setz
 | |
| syn keyword dAsmOpCode contained	sfence 	sgdt 	shl 	shld 	shr
 | |
| syn keyword dAsmOpCode contained	shrd 	shufpd 	shufps 	sidt 	sldt
 | |
| syn keyword dAsmOpCode contained	smsw 	sqrtpd 	sqrtps 	sqrtsd 	sqrtss
 | |
| syn keyword dAsmOpCode contained	stc 	std 	sti 	stmxcsr 	stos
 | |
| syn keyword dAsmOpCode contained	stosb 	stosd 	stosw 	str 	sub
 | |
| syn keyword dAsmOpCode contained	subpd 	subps 	subsd 	subss 	sysenter
 | |
| syn keyword dAsmOpCode contained	sysexit 	test 	ucomisd 	ucomiss 	ud2
 | |
| syn keyword dAsmOpCode contained	unpckhpd 	unpckhps 	unpcklpd 	unpcklps 	verr
 | |
| syn keyword dAsmOpCode contained	verw 	wait 	wbinvd 	wrmsr 	xadd
 | |
| syn keyword dAsmOpCode contained	xchg 	xlat 	xlatb 	xor 	xorpd
 | |
| syn keyword dAsmOpCode contained	xorps 				
 | |
| syn keyword dAsmOpCode contained	addsubpd 	addsubps 	fisttp 	haddpd 	haddps
 | |
| syn keyword dAsmOpCode contained	hsubpd 	hsubps 	lddqu 	monitor 	movddup
 | |
| syn keyword dAsmOpCode contained	movshdup 	movsldup 	mwait 		
 | |
| syn keyword dAsmOpCode contained	pavgusb 	pf2id 	pfacc 	pfadd 	pfcmpeq
 | |
| syn keyword dAsmOpCode contained	pfcmpge 	pfcmpgt 	pfmax 	pfmin 	pfmul
 | |
| syn keyword dAsmOpCode contained	pfnacc 	pfpnacc 	pfrcp 	pfrcpit1 	pfrcpit2
 | |
| syn keyword dAsmOpCode contained	pfrsqit1 	pfrsqrt 	pfsub 	pfsubr 	pi2fd
 | |
| syn keyword dAsmOpCode contained	pmulhrw 	pswapd
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 |