mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			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
 |