vim/runtime/syntax/tiasm.vim
Wu, Zhenyu df4a7d7617
runtime(tiasm): use correct syntax name tiasm in syntax script
closes: #16416

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-01-09 22:09:16 +01:00

102 lines
2.9 KiB
VimL

" 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"