neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

tiasm.vim (3010B)


      1 " Vim syntax file
      2 " Language:	TI linear assembly language
      3 " Document:	https://downloads.ti.com/docs/esd/SPRUI03B/#SPRUI03B_HTML/assembler-description.html
      4 " Maintainer:	Wu, Zhenyu <wuzhenyu@ustc.edu>
      5 " Last Change:	2025 Jan 08
      6 
      7 if exists("b:current_syntax")
      8  finish
      9 endif
     10 
     11 syn case ignore
     12 
     13 " storage types
     14 syn match tiasmType "\.bits"
     15 syn match tiasmType "\.byte"
     16 syn match tiasmType "\.char"
     17 syn match tiasmType "\.cstring"
     18 syn match tiasmType "\.double"
     19 syn match tiasmType "\.field"
     20 syn match tiasmType "\.float"
     21 syn match tiasmType "\.half"
     22 syn match tiasmType "\.int"
     23 syn match tiasmType "\.long"
     24 syn match tiasmType "\.short"
     25 syn match tiasmType "\.string"
     26 syn match tiasmType "\.ubyte"
     27 syn match tiasmType "\.uchar"
     28 syn match tiasmType "\.uhalf"
     29 syn match tiasmType "\.uint"
     30 syn match tiasmType "\.ulong"
     31 syn match tiasmType "\.ushort"
     32 syn match tiasmType "\.uword"
     33 syn match tiasmType "\.word"
     34 
     35 syn match tiasmIdentifier		"[a-z_][a-z0-9_]*"
     36 
     37 syn match tiasmDecimal		"\<[1-9]\d*\>"		 display
     38 syn match tiasmOctal		"\<0[0-7][0-7]\+\>\|\<[0-7]\+[oO]\>"	 display
     39 syn match tiasmHexadecimal	"\<0[xX][0-9a-fA-F]\+\>\|\<[0-9][0-9a-fA-F]*[hH]\>" display
     40 syn match tiasmBinary		"\<0[bB][0-1]\+\>\|\<[01]\+[bB]\>"	 display
     41 
     42 syn match tiasmFloat		"\<\d\+\.\d*\%(e[+-]\=\d\+\)\=\>" display
     43 syn match tiasmFloat		"\<\d\%(e[+-]\=\d\+\)\>"	  display
     44 
     45 syn match tiasmCharacter		"'.'\|''\|'[^']'"
     46 
     47 syn region tiasmString		start="\"" end="\"" skip="\"\""
     48 
     49 syn match tiasmFunction		"\$[a-zA-Z_][a-zA-Z_0-9]*\ze("
     50 
     51 syn keyword tiasmTodo			contained TODO FIXME XXX NOTE
     52 syn region tiasmComment			start=";" end="$" keepend contains=tiasmTodo,@Spell
     53 syn match tiasmComment			"^[*!].*" contains=tiasmTodo,@Spell
     54 syn match tiasmLabel			"^[^ *!;][^ :]*"
     55 
     56 syn match tiasmInclude		"\.include"
     57 syn match tiasmCond		"\.if"
     58 syn match tiasmCond		"\.else"
     59 syn match tiasmCond		"\.endif"
     60 syn match tiasmMacro		"\.macro"
     61 syn match tiasmMacro		"\.endm"
     62 
     63 syn match tiasmDirective		"\.[A-Za-z][0-9A-Za-z-_]*"
     64 
     65 syn case match
     66 
     67 hi def link tiasmLabel		Label
     68 hi def link tiasmComment		Comment
     69 hi def link tiasmTodo		Todo
     70 hi def link tiasmDirective	Statement
     71 
     72 hi def link tiasmInclude		Include
     73 hi def link tiasmCond		PreCondit
     74 hi def link tiasmMacro		Macro
     75 
     76 if exists('g:tiasm_legacy_syntax_groups')
     77  hi def link hexNumber		Number
     78  hi def link decNumber		Number
     79  hi def link octNumber		Number
     80  hi def link binNumber		Number
     81  hi def link tiasmHexadecimal	hexNumber
     82  hi def link tiasmDecimal	decNumber
     83  hi def link tiasmOctal		octNumber
     84  hi def link tiasmBinary		binNumber
     85 else
     86  hi def link tiasmHexadecimal	Number
     87  hi def link tiasmDecimal	Number
     88  hi def link tiasmOctal		Number
     89  hi def link tiasmBinary		Number
     90 endif
     91 hi def link tiasmFloat		Float
     92 
     93 hi def link tiasmString		String
     94 hi def link tiasmStringEscape	Special
     95 hi def link tiasmCharacter	Character
     96 hi def link tiasmCharacterEscape	Special
     97 
     98 hi def link tiasmIdentifier	Identifier
     99 hi def link tiasmType		Type
    100 hi def link tiasmFunction	Function
    101 
    102 let b:current_syntax = "tiasm"