forked from aniani/vim
		
	
		
			
				
	
	
		
			207 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	Telix (Modem Comm Program) SALT Script
 | |
| " Maintainer:	Sean M. McKee <mckee@misslink.net>
 | |
| " Last Change:	2012 Feb 03 by Thilo Six
 | |
| " Version Info: @(#)tsalt.vim	1.5	97/12/16 08:11:15
 | |
| 
 | |
| " quit when a syntax file was already loaded
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| " 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.
 | |
| " Only when an item doesn't have highlighting yet
 | |
| 
 | |
| 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
 | |
| 
 | |
| 
 | |
| let b:current_syntax = "tsalt"
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 | |
| " vim: ts=8
 |