vim: add support for mach-registers, graph instructions, etc
This commit is contained in:
@@ -5,41 +5,51 @@ endif
|
|||||||
let s:save_cpo = &cpoptions
|
let s:save_cpo = &cpoptions
|
||||||
set cpoptions&vim
|
set cpoptions&vim
|
||||||
setlocal iskeyword+=-
|
setlocal iskeyword+=-
|
||||||
|
setlocal shiftwidth=4
|
||||||
|
setlocal tabstop=4
|
||||||
|
|
||||||
syn keyword mieUnspecifiedKeyword to step iter-args
|
syn keyword mieUnspecifiedKeyword
|
||||||
|
\ to step iter-args get set
|
||||||
|
\ case then default
|
||||||
syn keyword mieInstructionFlag
|
syn keyword mieInstructionFlag
|
||||||
\ eq gt ge lt le
|
\ eq gt ge lt le
|
||||||
syn match mieRegister "%[0-9]\>"
|
syn match mieRegister "%[0-9]\>"
|
||||||
syn match mieRegister "%[1-9][0-9]\+\>"
|
syn match mieRegister "%[1-9][0-9]\+\>"
|
||||||
syn match mieRegister "%[A-Za-z_\-\.][A-Za-z0-9_\-\.]*\>"
|
syn match mieRegister "%[A-Za-z_\-\.][A-Za-z0-9_\-\.]*\>"
|
||||||
|
syn match mieMachineRegister "$[0-9]\>"
|
||||||
|
syn match mieMachineRegister "$[1-9][0-9]\+\>"
|
||||||
|
syn match mieMachineRegister "$[A-Za-z_\-\.][A-Za-z0-9_\-\.]*\>"
|
||||||
syn match mieIdentifier /@\(\w\+\)\(\.\(\w\+\)\)*\>/
|
syn match mieIdentifier /@\(\w\+\)\(\.\(\w\+\)\)*\>/
|
||||||
syn match mieIdentifier /@\.\(\w\+\)\(\.\(\w\+\)\)*\>/
|
syn match mieIdentifier /@\.\(\w\+\)\(\.\(\w\+\)\)*\>/
|
||||||
syn match mieBlockIdentifier /\^\(\w\+\)\(\.\(\w\+\)\)*/
|
syn match mieBlockIdentifier /\^\(\w\+\)\(\.\(\w\+\)\)*/
|
||||||
syn match mieBlockLabel /\^\(\w\+\)\(\.\(\w\+\)\)*\:/
|
syn match mieBlockLabel /\^\(\w\+\)\(\.\(\w\+\)\)*\:/
|
||||||
syn keyword mieBuiltinType void index
|
syn keyword mieBuiltinType void
|
||||||
syn keyword mieBuiltinType f16 f32 f64 f80 f128
|
|
||||||
" Use syn match for type names that are ALSO dialect names, to ensure that
|
" Use syn match for type names that are ALSO dialect names, to ensure that
|
||||||
" dialect operations are still matched as such.
|
" dialect operations are still matched as such.
|
||||||
syn match mieBuiltinType /\<memref\>/
|
syn match mieBuiltinType /\<memref\>/
|
||||||
syn match mieBuiltinType "i[0-9]\>"
|
syn match mieBuiltinType /\<ptr\>/
|
||||||
syn match mieBuiltinType "i[1-9][0-9]\+\>"
|
syn match mieBuiltinType /\<index\>/
|
||||||
|
syn match mieBuiltinType "\<[if][0-9]\>"
|
||||||
|
syn match mieBuiltinType "\<[if][1-9][0-9]\+\>"
|
||||||
syn match mieDialectType /#[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+/
|
syn match mieDialectType /#[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+/
|
||||||
|
|
||||||
|
syn match mieInstruction /\*[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+\([>\*]\)\@!\>/
|
||||||
|
syn match mieGenericOperation /\~[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+\([>\*]\)\@!\>/
|
||||||
|
syn match mieGraphOperation /+[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+\([>\*]\)\@!\>/
|
||||||
syn match mieCustomOperation /\<[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+\>/
|
syn match mieCustomOperation /\<[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+\>/
|
||||||
syn match mieGenericOperation /\*[A-Za-z][A-Za-z0-9\-]*\(\.[A-Za-z][A-Za-z0-9\-]*\)\+\([>\*]\)\@!\>/
|
|
||||||
|
|
||||||
syn match mieAttributeName /\<[A-Za-z][A-Za-z0-9\-_\.]*\(\s*=\)\@=\>/
|
syn match mieAttributeName /\<[A-Za-z][A-Za-z0-9\-_\.]*\(\s*=\)\@=\>/
|
||||||
|
|
||||||
syn region mieString start=+"+ end=+"\%(u8\)\=+ end=+$+ extend
|
syn region mieString start=+"+ end=+"\%(u8\)\=+ end=+$+ extend
|
||||||
|
|
||||||
syn match mieFloat /[0-9]\+\.[0-9]\+/
|
syn match mieFloat /\<[0-9]\+\.[0-9]\+/
|
||||||
syn match mieFloat /-[0-9]\+\.[0-9]\+/
|
syn match mieFloat /\<-[0-9]\+\.[0-9]\+/
|
||||||
syn match mieFloat /+[0-9]\+\.[0-9]\+/
|
syn match mieFloat /\<+[0-9]\+\.[0-9]\+/
|
||||||
|
|
||||||
syn match mieInteger /[0-9]\+\(\.\)\@!\>/
|
syn match mieInteger /\<[0-9]\+\(\.\)\@!\>/
|
||||||
syn match mieInteger /-[0-9]\+\(\.\)\@!\>/
|
syn match mieInteger /\<-[0-9]\+\(\.\)\@!\>/
|
||||||
syn match mieInteger /0x[:xdigit:]\+\>/
|
syn match mieInteger /\<0x[:xdigit:]\+\>/
|
||||||
syn match mieInteger /-0x[:xdigit:]\+\>/
|
syn match mieInteger /\<-0x[:xdigit:]\+\>/
|
||||||
|
|
||||||
syn match mieIntegerDimension /[0-9]\+x/
|
syn match mieIntegerDimension /[0-9]\+x/
|
||||||
syn match mieIntegerDimension /0x[:xdigit:]\+x/
|
syn match mieIntegerDimension /0x[:xdigit:]\+x/
|
||||||
@@ -55,12 +65,9 @@ syn match mieBraces "[{}]" display
|
|||||||
syn match mieAngleBrackets "[<>]" display
|
syn match mieAngleBrackets "[<>]" display
|
||||||
syn match mieOperator "[=:]" display
|
syn match mieOperator "[=:]" display
|
||||||
syn match mieOperator "->" display
|
syn match mieOperator "->" display
|
||||||
syn match ivyPropertySymbol "\$" display
|
|
||||||
|
|
||||||
" The default highlighting.
|
" The default highlighting.
|
||||||
hi def link mieUnspecifiedKeyword Keyword
|
hi def link mieUnspecifiedKeyword Keyword
|
||||||
hi def link ivyPropertySymbol Statement
|
|
||||||
|
|
||||||
hi def link mieInteger Number
|
hi def link mieInteger Number
|
||||||
hi def link mieFloat Number
|
hi def link mieFloat Number
|
||||||
|
|
||||||
@@ -72,12 +79,15 @@ hi def link mieAngleBrackets StorageClass
|
|||||||
hi def link mieDialectType Type
|
hi def link mieDialectType Type
|
||||||
|
|
||||||
hi def link mieGenericOperation @function.builtin
|
hi def link mieGenericOperation @function.builtin
|
||||||
|
hi def link mieGraphOperation Statement
|
||||||
hi def link mieCustomOperation Function
|
hi def link mieCustomOperation Function
|
||||||
|
hi def link mieInstruction @attribute
|
||||||
hi def link mieInstructionFlag StorageClass
|
hi def link mieInstructionFlag StorageClass
|
||||||
hi def link mieIdentifier Identifier
|
hi def link mieIdentifier Identifier
|
||||||
hi def link mieBlockIdentifier Label
|
hi def link mieBlockIdentifier Label
|
||||||
hi def link mieBlockLabel Label
|
hi def link mieBlockLabel Label
|
||||||
hi def link mieRegister @variable
|
hi def link mieRegister @variable.parameter
|
||||||
|
hi def link mieMachineRegister @variable.builtin
|
||||||
|
|
||||||
hi def link mieString String
|
hi def link mieString String
|
||||||
hi def link mieBuiltinType @type.builtin
|
hi def link mieBuiltinType @type.builtin
|
||||||
|
|||||||
Reference in New Issue
Block a user