| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:	Telix (Modem Comm Program) SALT Script | 
					
						
							|  |  |  | " Maintainer:	Sean M. McKee <mckee@misslink.net> | 
					
						
							| 
									
										
										
										
											2012-02-04 21:59:01 +01:00
										 |  |  | " Last Change:	2012 Feb 03 by Thilo Six | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Version Info: @(#)tsalt.vim	1.5	97/12/16 08:11:15 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-04 21:59:01 +01:00
										 |  |  | let s:cpo_save = &cpo | 
					
						
							|  |  |  | set cpo&vim | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " turn case matching off | 
					
						
							|  |  |  | syn case ignore | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "FUNCTIONS | 
					
						
							|  |  |  | " Character Handling Functions | 
					
						
							|  |  |  | syn keyword tsaltFunction	IsAscii IsAlNum IsAlpha IsCntrl IsDigit | 
					
						
							|  |  |  | syn keyword tsaltFunction	IsLower IsUpper ToLower ToUpper | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Connect Device Operations | 
					
						
							|  |  |  | syn keyword tsaltFunction	Carrier cInp_Cnt cGetC cGetCT cPutC cPutN | 
					
						
							|  |  |  | syn keyword tsaltFunction	cPutS cPutS_TR FlushBuf Get_Baud | 
					
						
							|  |  |  | syn keyword tsaltFunction	Get_DataB Get_Port Get_StopB Hangup | 
					
						
							|  |  |  | syn keyword tsaltFunction	KillConnectDevice MakeConnectDevice | 
					
						
							|  |  |  | syn keyword tsaltFunction	Send_Brk Set_ConnectDevice Set_Port | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " File Input/Output Operations | 
					
						
							|  |  |  | syn keyword tsaltFunction	fClearErr fClose fDelete fError fEOF fFlush | 
					
						
							|  |  |  | syn keyword tsaltFunction	fGetC fGetS FileAttr FileFind FileSize | 
					
						
							|  |  |  | syn keyword tsaltFunction	FileTime fnStrip fOpen fPutC fPutS fRead | 
					
						
							|  |  |  | syn keyword tsaltFunction	fRename fSeek fTell fWrite | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " File Transfers and Logs | 
					
						
							|  |  |  | syn keyword tsaltFunction	Capture Capture_Stat Printer Receive Send | 
					
						
							|  |  |  | syn keyword tsaltFunction	Set_DefProt UsageLog Usage_Stat UStamp | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Input String Matching | 
					
						
							|  |  |  | syn keyword tsaltFunction	Track Track_AddChr Track_Free Track_Hit | 
					
						
							|  |  |  | syn keyword tsaltFunction	WaitFor | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Keyboard Operations | 
					
						
							|  |  |  | syn keyword tsaltFunction	InKey InKeyW KeyGet KeyLoad KeySave KeySet | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Miscellaneous Functions | 
					
						
							|  |  |  | syn keyword tsaltFunction	ChatMode Dos Dial DosFunction ExitTelix | 
					
						
							|  |  |  | syn keyword tsaltFunction	GetEnv GetFon HelpScreen LoadFon NewDir | 
					
						
							|  |  |  | syn keyword tsaltFunction	Randon Redial RedirectDOS Run | 
					
						
							|  |  |  | syn keyword tsaltFunction	Set_Terminal Show_Directory TelixVersion | 
					
						
							|  |  |  | syn keyword tsaltFunction	Terminal TransTab Update_Term | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Script Management | 
					
						
							|  |  |  | syn keyword tsaltFunction	ArgCount Call CallD CompileScript GetRunPath | 
					
						
							|  |  |  | syn keyword tsaltFunction	Is_Loaded Load_Scr ScriptVersion | 
					
						
							|  |  |  | syn keyword tsaltFunction	TelixForWindows Unload_Scr | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Sound Functions | 
					
						
							|  |  |  | syn keyword tsaltFunction	Alarm PlayWave Tone | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " String Handling | 
					
						
							|  |  |  | syn keyword tsaltFunction	CopyChrs CopyStr DelChrs GetS GetSXY | 
					
						
							|  |  |  | syn keyword tsaltFunction	InputBox InsChrs ItoS SetChr StoI StrCat | 
					
						
							|  |  |  | syn keyword tsaltFunction	StrChr StrCompI StrLen StrLower StrMaxLen | 
					
						
							|  |  |  | syn keyword tsaltFunction	StrPos StrPosI StrUpper SubChr SubChrs | 
					
						
							|  |  |  | syn keyword tsaltFunction	SubStr | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Time, Date, and Timer Operations | 
					
						
							|  |  |  | syn keyword tsaltFunction	CurTime Date Delay Delay_Scr Get_OnlineTime | 
					
						
							|  |  |  | syn keyword tsaltFunction	tDay tHour tMin tMonth tSec tYear Time | 
					
						
							|  |  |  | syn keyword tsaltFunction	Time_Up Timer_Free Time_Restart | 
					
						
							|  |  |  | syn keyword tsaltFunction	Time_Start Time_Total | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Video Operations | 
					
						
							|  |  |  | syn keyword tsaltFunction	Box CNewLine Cursor_OnOff Clear_Scr | 
					
						
							|  |  |  | syn keyword tsaltFunction	GetTermHeight GetTermWidth GetX GetY | 
					
						
							|  |  |  | syn keyword tsaltFunction	GotoXY MsgBox NewLine PrintC PrintC_Trm | 
					
						
							|  |  |  | syn keyword tsaltFunction	PrintN PrintN_Trm PrintS PrintS_Trm | 
					
						
							|  |  |  | syn keyword tsaltFunction	PrintSC PRintSC_Trm | 
					
						
							|  |  |  | syn keyword tsaltFunction	PStrA PStrAXY Scroll Status_Wind vGetChr | 
					
						
							|  |  |  | syn keyword tsaltFunction	vGetChrs vGetChrsA  vPutChr vPutChrs | 
					
						
							|  |  |  | syn keyword tsaltFunction	vPutChrsA vRstrArea vSaveArea | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Dynamic Data Exchange (DDE) Operations | 
					
						
							|  |  |  | syn keyword tsaltFunction	DDEExecute DDEInitate DDEPoke DDERequest | 
					
						
							|  |  |  | syn keyword tsaltFunction	DDETerminate DDETerminateAll | 
					
						
							|  |  |  | "END FUNCTIONS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "PREDEFINED VARAIABLES | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_add_lf _alarm_on _answerback_str _asc_rcrtrans | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_asc_remabort _asc_rlftrans _asc_scpacing | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_asc_scrtrans _asc_secho _asc_slpacing | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_asc_spacechr _asc_striph _back_color | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_capture_fname _connect_str _dest_bs | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_dial_pause _dial_time _dial_post | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_dial_pref1 _dial_pref2 _dial_pref3 | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_dial_pref4 _dir_prog _down_dir | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_entry_bbstype _entry_comment _entry_enum | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_entry_name _entry_num _entry_logonname | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_entry_pass _fore_color _image_file | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_local_echo _mdm_hang_str _mdm_init_str | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_no_connect1 _no_connect2 _no_connect3 | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_no_connect4 _no_connect5 _redial_stop | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_scr_chk_key _script_dir _sound_on | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_strip_high _swap_bs _telix_dir _up_dir | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_usage_fname _zmodauto _zmod_rcrash | 
					
						
							|  |  |  | syn keyword tsaltSysVar	_zmod_scrash | 
					
						
							|  |  |  | "END PREDEFINED VARAIABLES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "TYPE | 
					
						
							|  |  |  | syn keyword tsaltType	str int | 
					
						
							|  |  |  | "END TYPE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "KEYWORDS | 
					
						
							|  |  |  | syn keyword tsaltStatement	goto break return continue | 
					
						
							|  |  |  | syn keyword tsaltConditional	if then else | 
					
						
							|  |  |  | syn keyword tsaltRepeat		while for do | 
					
						
							|  |  |  | "END KEYWORDS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword tsaltTodo contained	TODO | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " the rest is pretty close to C ----------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " String and Character constants | 
					
						
							|  |  |  | " Highlight special characters (those which have a backslash) differently | 
					
						
							|  |  |  | syn match tsaltSpecial		contained "\^\d\d\d\|\^." | 
					
						
							|  |  |  | syn region tsaltString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=tsaltSpecial | 
					
						
							|  |  |  | syn match tsaltCharacter	"'[^\\]'" | 
					
						
							|  |  |  | syn match tsaltSpecialCharacter	"'\\.'" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "catch errors caused by wrong parenthesis | 
					
						
							|  |  |  | syn region tsaltParen		transparent start='(' end=')' contains=ALLBUT,tsaltParenError,tsaltIncluded,tsaltSpecial,tsaltTodo | 
					
						
							|  |  |  | syn match tsaltParenError		")" | 
					
						
							|  |  |  | syn match tsaltInParen		contained "[{}]" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | hi link tsaltParenError		tsaltError | 
					
						
							|  |  |  | hi link tsaltInParen		tsaltError | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "integer number, or floating point number without a dot and with "f". | 
					
						
							|  |  |  | syn match  tsaltNumber		"\<\d\+\(u\=l\=\|lu\|f\)\>" | 
					
						
							|  |  |  | "floating point number, with dot, optional exponent | 
					
						
							|  |  |  | syn match  tsaltFloat		"\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" | 
					
						
							|  |  |  | "floating point number, starting with a dot, optional exponent | 
					
						
							|  |  |  | syn match  tsaltFloat		"\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" | 
					
						
							|  |  |  | "floating point number, without dot, with exponent | 
					
						
							|  |  |  | syn match  tsaltFloat		"\<\d\+e[-+]\=\d\+[fl]\=\>" | 
					
						
							|  |  |  | "hex number | 
					
						
							|  |  |  | syn match  tsaltNumber		"0x[0-9a-f]\+\(u\=l\=\|lu\)\>" | 
					
						
							|  |  |  | "syn match  cIdentifier	"\<[a-z_][a-z0-9_]*\>" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region tsaltComment		start="/\*"  end="\*/" contains=cTodo | 
					
						
							|  |  |  | syn match  tsaltComment		"//.*" contains=cTodo | 
					
						
							|  |  |  | syn match  tsaltCommentError	"\*/" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region tsaltPreCondit	start="^[ \t]*#[ \t]*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)"  skip="\\$"  end="$" contains=tsaltComment,tsaltString,tsaltCharacter,tsaltNumber,tsaltCommentError | 
					
						
							|  |  |  | syn region tsaltIncluded	contained start=+"+  skip=+\\\\\|\\"+  end=+"+ | 
					
						
							|  |  |  | syn match  tsaltIncluded	contained "<[^>]*>" | 
					
						
							|  |  |  | syn match  tsaltInclude		"^[ \t]*#[ \t]*include\>[ \t]*["<]" contains=tsaltIncluded | 
					
						
							|  |  |  | "syn match  TelixSalyLineSkip	"\\$" | 
					
						
							|  |  |  | syn region tsaltDefine		start="^[ \t]*#[ \t]*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,tsaltPreCondit,tsaltIncluded,tsaltInclude,tsaltDefine,tsaltInParen | 
					
						
							|  |  |  | syn region tsaltPreProc		start="^[ \t]*#[ \t]*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,tsaltPreCondit,tsaltIncluded,tsaltInclude,tsaltDefine,tsaltInParen | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Highlight User Labels | 
					
						
							|  |  |  | syn region tsaltMulti	transparent start='?' end=':' contains=ALLBUT,tsaltIncluded,tsaltSpecial,tsaltTodo | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn sync ccomment tsaltComment | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Define the default highlighting. | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " Only when an item doesn't have highlighting yet | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | hi def link tsaltFunction		Statement | 
					
						
							|  |  |  | hi def link tsaltSysVar		Type | 
					
						
							|  |  |  | "hi def link tsaltLibFunc		UserDefFunc | 
					
						
							|  |  |  | "hi def link tsaltConstants		Type | 
					
						
							|  |  |  | "hi def link tsaltFuncArg		Type | 
					
						
							|  |  |  | "hi def link tsaltOperator		Operator | 
					
						
							|  |  |  | "hi def link tsaltLabel		Label | 
					
						
							|  |  |  | "hi def link tsaltUserLabel		Label | 
					
						
							|  |  |  | hi def link tsaltConditional		Conditional | 
					
						
							|  |  |  | hi def link tsaltRepeat		Repeat | 
					
						
							|  |  |  | hi def link tsaltCharacter		SpecialChar | 
					
						
							|  |  |  | hi def link tsaltSpecialCharacter	SpecialChar | 
					
						
							|  |  |  | hi def link tsaltNumber		Number | 
					
						
							|  |  |  | hi def link tsaltFloat		Float | 
					
						
							|  |  |  | hi def link tsaltCommentError	tsaltError | 
					
						
							|  |  |  | hi def link tsaltInclude		Include | 
					
						
							|  |  |  | hi def link tsaltPreProc		PreProc | 
					
						
							|  |  |  | hi def link tsaltDefine		Macro | 
					
						
							|  |  |  | hi def link tsaltIncluded		tsaltString | 
					
						
							|  |  |  | hi def link tsaltError		Error | 
					
						
							|  |  |  | hi def link tsaltStatement		Statement | 
					
						
							|  |  |  | hi def link tsaltPreCondit		PreCondit | 
					
						
							|  |  |  | hi def link tsaltType		Type | 
					
						
							|  |  |  | hi def link tsaltString		String | 
					
						
							|  |  |  | hi def link tsaltComment		Comment | 
					
						
							|  |  |  | hi def link tsaltSpecial		Special | 
					
						
							|  |  |  | hi def link tsaltTodo		Todo | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "tsalt" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-04 21:59:01 +01:00
										 |  |  | let &cpo = s:cpo_save | 
					
						
							|  |  |  | unlet s:cpo_save | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " vim: ts=8 |