forked from aniani/vim
		
	
		
			
	
	
		
			215 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			215 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	Telix (Modem Comm Program) SALT Script | ||
|  | " Maintainer:	Sean M. McKee <mckee@misslink.net> | ||
|  | " Last Change:	2001 May 09 | ||
|  | " Version Info: @(#)tsalt.vim	1.5	97/12/16 08:11:15 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " 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. | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_tsalt_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_tsalt_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  | 	HiLink tsaltFunction		Statement | ||
|  | 	HiLink tsaltSysVar		Type | ||
|  | 	"HiLink tsaltLibFunc		UserDefFunc | ||
|  | 	"HiLink tsaltConstants		Type | ||
|  | 	"HiLink tsaltFuncArg		Type | ||
|  | 	"HiLink tsaltOperator		Operator | ||
|  | 	"HiLink tsaltLabel		Label | ||
|  | 	"HiLink tsaltUserLabel		Label | ||
|  | 	HiLink tsaltConditional		Conditional | ||
|  | 	HiLink tsaltRepeat		Repeat | ||
|  | 	HiLink tsaltCharacter		SpecialChar | ||
|  | 	HiLink tsaltSpecialCharacter	SpecialChar | ||
|  | 	HiLink tsaltNumber		Number | ||
|  | 	HiLink tsaltFloat		Float | ||
|  | 	HiLink tsaltCommentError	tsaltError | ||
|  | 	HiLink tsaltInclude		Include | ||
|  | 	HiLink tsaltPreProc		PreProc | ||
|  | 	HiLink tsaltDefine		Macro | ||
|  | 	HiLink tsaltIncluded		tsaltString | ||
|  | 	HiLink tsaltError		Error | ||
|  | 	HiLink tsaltStatement		Statement | ||
|  | 	HiLink tsaltPreCondit		PreCondit | ||
|  | 	HiLink tsaltType		Type | ||
|  | 	HiLink tsaltString		String | ||
|  | 	HiLink tsaltComment		Comment | ||
|  | 	HiLink tsaltSpecial		Special | ||
|  | 	HiLink tsaltTodo		Todo | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "tsalt" | ||
|  | 
 | ||
|  | " vim: ts=8 |