" Vim syntax file " Language: TI linear assembly language " Document: https://downloads.ti.com/docs/esd/SPRUI03B/#SPRUI03B_HTML/assembler-description.html " Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu> " Last Change: 2025 Jan 08 if exists("b:current_syntax") finish endif syn case ignore " storage types syn match tiasmType "\.bits" syn match tiasmType "\.byte" syn match tiasmType "\.char" syn match tiasmType "\.cstring" syn match tiasmType "\.double" syn match tiasmType "\.field" syn match tiasmType "\.float" syn match tiasmType "\.half" syn match tiasmType "\.int" syn match tiasmType "\.long" syn match tiasmType "\.short" syn match tiasmType "\.string" syn match tiasmType "\.ubyte" syn match tiasmType "\.uchar" syn match tiasmType "\.uhalf" syn match tiasmType "\.uint" syn match tiasmType "\.ulong" syn match tiasmType "\.ushort" syn match tiasmType "\.uword" syn match tiasmType "\.word" syn match tiasmIdentifier "[a-z_][a-z0-9_]*" syn match tiasmDecimal "\<[1-9]\d*\>" display syn match tiasmOctal "\<0[0-7][0-7]\+\>\|\<[0-7]\+[oO]\>" display syn match tiasmHexadecimal "\<0[xX][0-9a-fA-F]\+\>\|\<[0-9][0-9a-fA-F]*[hH]\>" display syn match tiasmBinary "\<0[bB][0-1]\+\>\|\<[01]\+[bB]\>" display syn match tiasmFloat "\<\d\+\.\d*\%(e[+-]\=\d\+\)\=\>" display syn match tiasmFloat "\<\d\%(e[+-]\=\d\+\)\>" display syn match tiasmCharacter "'.'\|''\|'[^']'" syn region tiasmString start="\"" end="\"" skip="\"\"" syn match tiasmFunction "\$[a-zA-Z_][a-zA-Z_0-9]*\ze(" syn keyword tiasmTodo contained TODO FIXME XXX NOTE syn region tiasmComment start=";" end="$" keepend contains=tiasmTodo,@Spell syn match tiasmComment "^[*!].*" contains=tiasmTodo,@Spell syn match tiasmLabel "^[^ *!;][^ :]*" syn match tiasmInclude "\.include" syn match tiasmCond "\.if" syn match tiasmCond "\.else" syn match tiasmCond "\.endif" syn match tiasmMacro "\.macro" syn match tiasmMacro "\.endm" syn match tiasmDirective "\.[A-Za-z][0-9A-Za-z-_]*" syn case match hi def link tiasmLabel Label hi def link tiasmComment Comment hi def link tiasmTodo Todo hi def link tiasmDirective Statement hi def link tiasmInclude Include hi def link tiasmCond PreCondit hi def link tiasmMacro Macro if exists('g:tiasm_legacy_syntax_groups') hi def link hexNumber Number hi def link decNumber Number hi def link octNumber Number hi def link binNumber Number hi def link tiasmHexadecimal hexNumber hi def link tiasmDecimal decNumber hi def link tiasmOctal octNumber hi def link tiasmBinary binNumber else hi def link tiasmHexadecimal Number hi def link tiasmDecimal Number hi def link tiasmOctal Number hi def link tiasmBinary Number endif hi def link tiasmFloat Float hi def link tiasmString String hi def link tiasmStringEscape Special hi def link tiasmCharacter Character hi def link tiasmCharacterEscape Special hi def link tiasmIdentifier Identifier hi def link tiasmType Type hi def link tiasmFunction Function let b:current_syntax = "tiasm"