vim: add support for asm comments, idents, atoms, and new keywords and index bases
This commit is contained in:
@@ -7,11 +7,11 @@ set cpoptions&vim
|
|||||||
|
|
||||||
setlocal iskeyword+=@-@
|
setlocal iskeyword+=@-@
|
||||||
setlocal iskeyword+=.
|
setlocal iskeyword+=.
|
||||||
syn keyword ivyasmUnspecifiedStatement @end @lambda @class @msgh @use @constpool @selector @ident
|
syn keyword ivyasmUnspecifiedStatement @end @lambda @class @msgh @use @constpool @selector @ident @atom
|
||||||
syn keyword ivyasmInstruction ldr str ret ret.n
|
syn keyword ivyasmInstruction ldr str ret ret.n cmp b.eq br div mul
|
||||||
syn match ivyasmRegister "x[0-9]"
|
syn match ivyasmRegister "x[0-9]"
|
||||||
syn match ivyasmRegister "x[1-9][0-9]"
|
syn match ivyasmRegister "x[1-9][0-9]"
|
||||||
syn keyword ivyasmIndexBase self bp sp
|
syn keyword ivyasmIndexBase self bp sp pool
|
||||||
|
|
||||||
syn match ivyasmFieldIndex /#[0-9]\+:\>/
|
syn match ivyasmFieldIndex /#[0-9]\+:\>/
|
||||||
syn match ivyasmFieldIndex /#-[0-9]\+:\>/
|
syn match ivyasmFieldIndex /#-[0-9]\+:\>/
|
||||||
@@ -25,6 +25,11 @@ syn match ivyasmInteger /#-[0-9]\+\>/
|
|||||||
syn match ivyasmInteger /#0x[:xdigit:]\+\>/
|
syn match ivyasmInteger /#0x[:xdigit:]\+\>/
|
||||||
syn match ivyasmInteger /#-0x[:xdigit:]\+\>/
|
syn match ivyasmInteger /#-0x[:xdigit:]\+\>/
|
||||||
|
|
||||||
|
syn keyword ivyasmTodo contained TODO FIXME XXX NOTE HACK TBD
|
||||||
|
syn region ivyasmBlockComment start="/\*" end="\*/" contains=ivyasmTodo,ivyasmBlockComment
|
||||||
|
syn match ivyasmLineComment ";.*$" contains=ivyasmTodo,ivyasmBlockComment
|
||||||
|
syn cluster ivyasmComment contains=ivyasmLineComment,ivyasmBlockComment
|
||||||
|
|
||||||
syn match ivyasmPropertyName /\($\s*\)\@<=[a-zA-Z_][A-Za-z0-9_]*/
|
syn match ivyasmPropertyName /\($\s*\)\@<=[a-zA-Z_][A-Za-z0-9_]*/
|
||||||
syn match ivyasmFieldName /\(#[0-9]\+:\s\)\@<=[a-zA-Z_][A-Za-z0-9_]*\>/
|
syn match ivyasmFieldName /\(#[0-9]\+:\s\)\@<=[a-zA-Z_][A-Za-z0-9_]*\>/
|
||||||
|
|
||||||
@@ -32,11 +37,14 @@ syn match ivyasmClassName /\(@msgh (\)\@<=\([A-Za-z_][A-Za-z0-9_]*\)\(.\([A-Za
|
|||||||
syn match ivyasmClassName /\(@class (\)\@<=\([A-Za-z_][A-Za-z0-9_]*\)\(.\([A-Za-z_][A-Za-z0-9_]*\)\)*\()\)\@=\>/
|
syn match ivyasmClassName /\(@class (\)\@<=\([A-Za-z_][A-Za-z0-9_]*\)\(.\([A-Za-z_][A-Za-z0-9_]*\)\)*\()\)\@=\>/
|
||||||
syn match ivyasmLambdaName /\(@lambda (\)\@<=\([A-Za-z_][A-Za-z0-9_]*\)\()\)\@=\>/
|
syn match ivyasmLambdaName /\(@lambda (\)\@<=\([A-Za-z_][A-Za-z0-9_]*\)\()\)\@=\>/
|
||||||
|
|
||||||
|
syn match ivyasmIdent /\(@ident\(\s\)*\[\)\@<=\([A-Za-z_][A-Za-z0-9_]*\)\(\]\)\@=\>/
|
||||||
|
syn match ivyasmAtom /\(@atom\(\s\)*\[\)\@<=\([A-Za-z_][A-Za-z0-9_]*\)\(\]\)\@=\>/
|
||||||
|
|
||||||
syn match ivyasmFieldIndex /#-[0-9]\+:\>/
|
syn match ivyasmFieldIndex /#-[0-9]\+:\>/
|
||||||
syn match ivyasmFieldIndex /#0x[:xdigit:]\+:\>/
|
syn match ivyasmFieldIndex /#0x[:xdigit:]\+:\>/
|
||||||
syn match ivyasmFieldIndex /#-0x[:xdigit:]\+:\>/
|
syn match ivyasmFieldIndex /#-0x[:xdigit:]\+:\>/
|
||||||
|
|
||||||
syn match ivyasmSelectorLabel /\<[a-z_]\([A-Za-z0-9_]*\)\:/
|
syn match ivyasmSelectorLabel /\<[A-Za-z_]\([A-Za-z0-9_]*\)\:/
|
||||||
|
|
||||||
syn match ivyasmBrackets "[[\]]" display
|
syn match ivyasmBrackets "[[\]]" display
|
||||||
syn match ivyasmParens "[()]" display
|
syn match ivyasmParens "[()]" display
|
||||||
@@ -65,6 +73,13 @@ hi def link ivyasmSelectorLabel Label
|
|||||||
|
|
||||||
hi def link ivyasmString String
|
hi def link ivyasmString String
|
||||||
|
|
||||||
|
hi def link ivyasmComment Comment
|
||||||
|
hi def link ivyasmLineComment ivyasmComment
|
||||||
|
hi def link ivyasmBlockComment ivyasmComment
|
||||||
|
hi def link ivyasmLineContinuation ivyasmComment
|
||||||
|
|
||||||
|
hi def link ivyasmIdent @variable.builtin
|
||||||
|
hi def link ivyasmAtom Constant
|
||||||
|
|
||||||
let b:current_syntax = 'ivyasm'
|
let b:current_syntax = 'ivyasm'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user