vim: pull IR syntax highlighting into separate vim plugin
This commit is contained in:
@@ -1 +0,0 @@
|
||||
autocmd BufNewFile,BufRead *.ir setfiletype ivy-ir
|
||||
@@ -1,82 +0,0 @@
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
syn keyword ivyirUnspecifiedStatement record data define
|
||||
syn keyword ivyirInstruction
|
||||
\ alloca load store call br cmp
|
||||
\ c.z c.nz c.eq c.ne c.lt c.le c.gt c.ge
|
||||
\ br br.t br.f
|
||||
\ add sub div mul push pop msg
|
||||
syn match ivyirRegister "%[0-9]\>"
|
||||
syn match ivyirRegister "%[1-9][0-9]\+\>"
|
||||
syn match ivyirRegister "%\w\+\>"
|
||||
syn match ivyirIdentifier /@\(\w\+\)\(\.\(\w\+\)\)*\>/
|
||||
syn match ivyirIdentifier /@\.\(\w\+\)\(\.\(\w\+\)\)*\>/
|
||||
syn match ivyirLabel /\(\w\+\)\(\.\(\w\+\)\)*\:/
|
||||
syn keyword ivyirType id ptr str label
|
||||
syn match ivyirType "i[0-9]\>"
|
||||
syn match ivyirType "i[1-9][0-9]\+\>"
|
||||
syn keyword ivyirBlockType iblock class lambda function
|
||||
|
||||
syn match ivyirFieldIndex /#[0-9]\+:\>/
|
||||
syn match ivyirFieldIndex /#-[0-9]\+:\>/
|
||||
syn match ivyirFieldIndex /#0x[:xdigit:]\+:\>/
|
||||
syn match ivyirFieldIndex /#-0x[:xdigit:]\+:\>/
|
||||
|
||||
syn region ivyirString start=+"+ end=+"\%(u8\)\=+ end=+$+ extend
|
||||
|
||||
syn match ivyirInteger /#[0-9]\+\>/
|
||||
syn match ivyirInteger /#-[0-9]\+\>/
|
||||
syn match ivyirInteger /#0x[:xdigit:]\+\>/
|
||||
syn match ivyirInteger /#-0x[:xdigit:]\+\>/
|
||||
|
||||
syn keyword ivyirTodo contained TODO FIXME XXX NOTE HACK TBD
|
||||
syn region ivyirBlockComment start="/\*" end="\*/" contains=ivyirTodo,ivyirBlockComment
|
||||
syn match ivyirLineComment ";.*$" contains=ivyirTodo,ivyirBlockComment
|
||||
syn cluster ivyirComment contains=ivyirLineComment,ivyirBlockComment
|
||||
|
||||
syn match ivyirBrackets "[[\]]" display
|
||||
syn match ivyirParens "[()]" display
|
||||
syn match ivyPropertySymbol "\$" display
|
||||
|
||||
" The default highlighting.
|
||||
hi def link ivyirUnspecifiedStatement Statement
|
||||
hi def link ivyPropertySymbol Statement
|
||||
|
||||
hi def link ivyirInteger Number
|
||||
|
||||
hi def link ivyirParens Delimiter
|
||||
hi def link ivyirBraces Structure
|
||||
|
||||
hi def link ivyirPropertyName @property
|
||||
hi def link ivyirFieldName @variable.parameter
|
||||
hi def link ivyirClassName Type
|
||||
hi def link ivyirLambdaName @variable.parameter
|
||||
|
||||
hi def link ivyirInstruction Function
|
||||
hi def link ivyirIdentifier Identifier
|
||||
hi def link ivyirLabel Tag
|
||||
hi def link ivyirIndexBase @variable.builtin
|
||||
hi def link ivyirRegister Constant
|
||||
|
||||
hi def link ivyirString String
|
||||
hi def link ivyirType Type
|
||||
hi def link ivyirBlockType @attribute
|
||||
|
||||
hi def link ivyirComment Comment
|
||||
hi def link ivyirLineComment ivyirComment
|
||||
hi def link ivyirBlockComment ivyirComment
|
||||
hi def link ivyirLineContinuation ivyirComment
|
||||
|
||||
hi def link ivyirIdent @variable.builtin
|
||||
hi def link ivyirAtom Constant
|
||||
|
||||
let b:current_syntax = 'ivy-ir'
|
||||
|
||||
let &cpoptions = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
0
mie.vim/autoload/mie.vim
Normal file
0
mie.vim/autoload/mie.vim
Normal file
1
mie.vim/ftdetect/mie.vim
Executable file
1
mie.vim/ftdetect/mie.vim
Executable file
@@ -0,0 +1 @@
|
||||
autocmd BufNewFile,BufRead *.mie setfiletype mie
|
||||
82
mie.vim/syntax/mie.vim
Executable file
82
mie.vim/syntax/mie.vim
Executable file
@@ -0,0 +1,82 @@
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
syn keyword mieUnspecifiedStatement record data define
|
||||
syn keyword mieInstruction
|
||||
\ alloca load store call br cmp
|
||||
\ c.z c.nz c.eq c.ne c.lt c.le c.gt c.ge
|
||||
\ br br.t br.f
|
||||
\ add sub div mul push pop msg
|
||||
syn match mieRegister "%[0-9]\>"
|
||||
syn match mieRegister "%[1-9][0-9]\+\>"
|
||||
syn match mieRegister "%\w\+\>"
|
||||
syn match mieIdentifier /@\(\w\+\)\(\.\(\w\+\)\)*\>/
|
||||
syn match mieIdentifier /@\.\(\w\+\)\(\.\(\w\+\)\)*\>/
|
||||
syn match mieLabel /\(\w\+\)\(\.\(\w\+\)\)*\:/
|
||||
syn keyword mieType id ptr str label void
|
||||
syn match mieType "i[0-9]\>"
|
||||
syn match mieType "i[1-9][0-9]\+\>"
|
||||
syn keyword mieBlockType lambda instance static
|
||||
|
||||
syn match mieFieldIndex /#[0-9]\+:\>/
|
||||
syn match mieFieldIndex /#-[0-9]\+:\>/
|
||||
syn match mieFieldIndex /#0x[:xdigit:]\+:\>/
|
||||
syn match mieFieldIndex /#-0x[:xdigit:]\+:\>/
|
||||
|
||||
syn region mieString start=+"+ end=+"\%(u8\)\=+ end=+$+ extend
|
||||
|
||||
syn match mieInteger /#[0-9]\+\>/
|
||||
syn match mieInteger /#-[0-9]\+\>/
|
||||
syn match mieInteger /#0x[:xdigit:]\+\>/
|
||||
syn match mieInteger /#-0x[:xdigit:]\+\>/
|
||||
|
||||
syn keyword mieTodo contained TODO FIXME XXX NOTE HACK TBD
|
||||
syn region mieBlockComment start="/\*" end="\*/" contains=mieTodo,mieBlockComment
|
||||
syn match mieLineComment ";.*$" contains=mieTodo,mieBlockComment
|
||||
syn cluster mieComment contains=mieLineComment,mieBlockComment
|
||||
|
||||
syn match mieBrackets "[[\]]" display
|
||||
syn match mieParens "[()]" display
|
||||
syn match ivyPropertySymbol "\$" display
|
||||
|
||||
" The default highlighting.
|
||||
hi def link mieUnspecifiedStatement Statement
|
||||
hi def link ivyPropertySymbol Statement
|
||||
|
||||
hi def link mieInteger Number
|
||||
|
||||
hi def link mieParens Delimiter
|
||||
hi def link mieBraces Structure
|
||||
|
||||
hi def link miePropertyName @property
|
||||
hi def link mieFieldName @variable.parameter
|
||||
hi def link mieClassName Type
|
||||
hi def link mieLambdaName @variable.parameter
|
||||
|
||||
hi def link mieInstruction Function
|
||||
hi def link mieIdentifier Identifier
|
||||
hi def link mieLabel Tag
|
||||
hi def link mieIndexBase @variable.builtin
|
||||
hi def link mieRegister Constant
|
||||
|
||||
hi def link mieString String
|
||||
hi def link mieType Type
|
||||
hi def link mieBlockType @attribute
|
||||
|
||||
hi def link mieComment Comment
|
||||
hi def link mieLineComment mieComment
|
||||
hi def link mieBlockComment mieComment
|
||||
hi def link mieLineContinuation mieComment
|
||||
|
||||
hi def link mieIdent @variable.builtin
|
||||
hi def link mieAtom Constant
|
||||
|
||||
let b:current_syntax = 'mie"
|
||||
|
||||
let &cpoptions = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
Reference in New Issue
Block a user