mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			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
 |