| 
									
										
										
										
											2025-01-08 20:20:06 +01:00
										 |  |  | " 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-09 22:09:16 +01:00
										 |  |  | let b:current_syntax = "tiasm" |