diff --git a/ivy.vim/syntax/ivyasm.vim b/ivy.vim/syntax/ivyasm.vim index 0ba68af..ab9635e 100755 --- a/ivy.vim/syntax/ivyasm.vim +++ b/ivy.vim/syntax/ivyasm.vim @@ -7,11 +7,11 @@ set cpoptions&vim setlocal iskeyword+=@-@ setlocal iskeyword+=. -syn keyword ivyasmUnspecifiedStatement @end @lambda @class @msgh @use @constpool @selector @ident -syn keyword ivyasmInstruction ldr str ret ret.n +syn keyword ivyasmUnspecifiedStatement @end @lambda @class @msgh @use @constpool @selector @ident @atom +syn keyword ivyasmInstruction ldr str ret ret.n cmp b.eq br div mul syn match ivyasmRegister "x[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]\+:\>/ @@ -25,6 +25,11 @@ syn match ivyasmInteger /#-[0-9]\+\>/ 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 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 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 /#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 ivyasmParens "[()]" display @@ -65,6 +73,13 @@ hi def link ivyasmSelectorLabel Label 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'