30 lines
1.1 KiB
VimL
30 lines
1.1 KiB
VimL
" Highlight: %"constant string"
|
|
" ^----------------^
|
|
syntax region llvmIdentifier start=+%"+ end=+"+ oneline
|
|
|
|
" Highlight: { ... }
|
|
" ^ ^
|
|
syntax region llvmScope matchgroup=llvmDelimiter start="{" end="}" transparent
|
|
|
|
" Highlight: ( ... )
|
|
" ^ ^
|
|
syntax region llvmScope matchgroup=llvmDelimiter start="(" end=")" transparent
|
|
|
|
" Highlight: < ... x ... >
|
|
" ^ ^ ^
|
|
syntax match llvmVectorDelimiter " \zsx\ze " contained
|
|
syntax region llvmScope matchgroup=llvmDelimiter start="<" end=">" transparent oneline contains=llvmDelimiter,llvmVectorDelimiter,llvmType,llvmNumber,llvmFloat,llvmBoolean,llvmConstant
|
|
|
|
syntax match llvmDelimiter ","
|
|
|
|
" Named metadata and specialized metadata keywords.
|
|
syn match llvmMetadata /![-a-zA-Z$._][-a-zA-Z$._0-9]*\ze\s*$/
|
|
syn match llvmMetadata /![-a-zA-Z$._][-a-zA-Z$._0-9]*\ze\s*[=!]/
|
|
" syn match llvmType /!\zs\a\+\ze\s*(/
|
|
syn match llvmMetadata /!\(\d\+\>\|\ze{\|\ze\".*"\)/
|
|
|
|
" Define extended highlight groups
|
|
highlight default link llvmDelimiter Delimiter
|
|
highlight default link llvmVectorDelimiter llvmDelimiter
|
|
highlight default link llvmMetadata Include
|