xref: /vim-8.2.3635/runtime/syntax/tsalt.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	Telix (Modem Comm Program) SALT Script
3071d4279SBram Moolenaar" Maintainer:	Sean M. McKee <[email protected]>
4b8ff1fb5SBram Moolenaar" Last Change:	2012 Feb 03 by Thilo Six
5071d4279SBram Moolenaar" Version Info: @(#)tsalt.vim	1.5	97/12/16 08:11:15
6071d4279SBram Moolenaar
789bcfda6SBram Moolenaar" quit when a syntax file was already loaded
889bcfda6SBram Moolenaarif exists("b:current_syntax")
9071d4279SBram Moolenaar  finish
10071d4279SBram Moolenaarendif
11071d4279SBram Moolenaar
12b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo
13b8ff1fb5SBram Moolenaarset cpo&vim
14b8ff1fb5SBram Moolenaar
15071d4279SBram Moolenaar" turn case matching off
16071d4279SBram Moolenaarsyn case ignore
17071d4279SBram Moolenaar
18071d4279SBram Moolenaar"FUNCTIONS
19071d4279SBram Moolenaar" Character Handling Functions
20071d4279SBram Moolenaarsyn keyword tsaltFunction	IsAscii IsAlNum IsAlpha IsCntrl IsDigit
21071d4279SBram Moolenaarsyn keyword tsaltFunction	IsLower IsUpper ToLower ToUpper
22071d4279SBram Moolenaar
23071d4279SBram Moolenaar" Connect Device Operations
24071d4279SBram Moolenaarsyn keyword tsaltFunction	Carrier cInp_Cnt cGetC cGetCT cPutC cPutN
25071d4279SBram Moolenaarsyn keyword tsaltFunction	cPutS cPutS_TR FlushBuf Get_Baud
26071d4279SBram Moolenaarsyn keyword tsaltFunction	Get_DataB Get_Port Get_StopB Hangup
27071d4279SBram Moolenaarsyn keyword tsaltFunction	KillConnectDevice MakeConnectDevice
28071d4279SBram Moolenaarsyn keyword tsaltFunction	Send_Brk Set_ConnectDevice Set_Port
29071d4279SBram Moolenaar
30071d4279SBram Moolenaar" File Input/Output Operations
31071d4279SBram Moolenaarsyn keyword tsaltFunction	fClearErr fClose fDelete fError fEOF fFlush
32071d4279SBram Moolenaarsyn keyword tsaltFunction	fGetC fGetS FileAttr FileFind FileSize
33071d4279SBram Moolenaarsyn keyword tsaltFunction	FileTime fnStrip fOpen fPutC fPutS fRead
34071d4279SBram Moolenaarsyn keyword tsaltFunction	fRename fSeek fTell fWrite
35071d4279SBram Moolenaar
36071d4279SBram Moolenaar" File Transfers and Logs
37071d4279SBram Moolenaarsyn keyword tsaltFunction	Capture Capture_Stat Printer Receive Send
38071d4279SBram Moolenaarsyn keyword tsaltFunction	Set_DefProt UsageLog Usage_Stat UStamp
39071d4279SBram Moolenaar
40071d4279SBram Moolenaar" Input String Matching
41071d4279SBram Moolenaarsyn keyword tsaltFunction	Track Track_AddChr Track_Free Track_Hit
42071d4279SBram Moolenaarsyn keyword tsaltFunction	WaitFor
43071d4279SBram Moolenaar
44071d4279SBram Moolenaar" Keyboard Operations
45071d4279SBram Moolenaarsyn keyword tsaltFunction	InKey InKeyW KeyGet KeyLoad KeySave KeySet
46071d4279SBram Moolenaar
47071d4279SBram Moolenaar" Miscellaneous Functions
48071d4279SBram Moolenaarsyn keyword tsaltFunction	ChatMode Dos Dial DosFunction ExitTelix
49071d4279SBram Moolenaarsyn keyword tsaltFunction	GetEnv GetFon HelpScreen LoadFon NewDir
50071d4279SBram Moolenaarsyn keyword tsaltFunction	Randon Redial RedirectDOS Run
51071d4279SBram Moolenaarsyn keyword tsaltFunction	Set_Terminal Show_Directory TelixVersion
52071d4279SBram Moolenaarsyn keyword tsaltFunction	Terminal TransTab Update_Term
53071d4279SBram Moolenaar
54071d4279SBram Moolenaar" Script Management
55071d4279SBram Moolenaarsyn keyword tsaltFunction	ArgCount Call CallD CompileScript GetRunPath
56071d4279SBram Moolenaarsyn keyword tsaltFunction	Is_Loaded Load_Scr ScriptVersion
57071d4279SBram Moolenaarsyn keyword tsaltFunction	TelixForWindows Unload_Scr
58071d4279SBram Moolenaar
59071d4279SBram Moolenaar" Sound Functions
60071d4279SBram Moolenaarsyn keyword tsaltFunction	Alarm PlayWave Tone
61071d4279SBram Moolenaar
62071d4279SBram Moolenaar" String Handling
63071d4279SBram Moolenaarsyn keyword tsaltFunction	CopyChrs CopyStr DelChrs GetS GetSXY
64071d4279SBram Moolenaarsyn keyword tsaltFunction	InputBox InsChrs ItoS SetChr StoI StrCat
65071d4279SBram Moolenaarsyn keyword tsaltFunction	StrChr StrCompI StrLen StrLower StrMaxLen
66071d4279SBram Moolenaarsyn keyword tsaltFunction	StrPos StrPosI StrUpper SubChr SubChrs
67071d4279SBram Moolenaarsyn keyword tsaltFunction	SubStr
68071d4279SBram Moolenaar
69071d4279SBram Moolenaar" Time, Date, and Timer Operations
70071d4279SBram Moolenaarsyn keyword tsaltFunction	CurTime Date Delay Delay_Scr Get_OnlineTime
71071d4279SBram Moolenaarsyn keyword tsaltFunction	tDay tHour tMin tMonth tSec tYear Time
72071d4279SBram Moolenaarsyn keyword tsaltFunction	Time_Up Timer_Free Time_Restart
73071d4279SBram Moolenaarsyn keyword tsaltFunction	Time_Start Time_Total
74071d4279SBram Moolenaar
75071d4279SBram Moolenaar" Video Operations
76071d4279SBram Moolenaarsyn keyword tsaltFunction	Box CNewLine Cursor_OnOff Clear_Scr
77071d4279SBram Moolenaarsyn keyword tsaltFunction	GetTermHeight GetTermWidth GetX GetY
78071d4279SBram Moolenaarsyn keyword tsaltFunction	GotoXY MsgBox NewLine PrintC PrintC_Trm
79071d4279SBram Moolenaarsyn keyword tsaltFunction	PrintN PrintN_Trm PrintS PrintS_Trm
80071d4279SBram Moolenaarsyn keyword tsaltFunction	PrintSC PRintSC_Trm
81071d4279SBram Moolenaarsyn keyword tsaltFunction	PStrA PStrAXY Scroll Status_Wind vGetChr
82071d4279SBram Moolenaarsyn keyword tsaltFunction	vGetChrs vGetChrsA  vPutChr vPutChrs
83071d4279SBram Moolenaarsyn keyword tsaltFunction	vPutChrsA vRstrArea vSaveArea
84071d4279SBram Moolenaar
85071d4279SBram Moolenaar" Dynamic Data Exchange (DDE) Operations
86071d4279SBram Moolenaarsyn keyword tsaltFunction	DDEExecute DDEInitate DDEPoke DDERequest
87071d4279SBram Moolenaarsyn keyword tsaltFunction	DDETerminate DDETerminateAll
88071d4279SBram Moolenaar"END FUNCTIONS
89071d4279SBram Moolenaar
90071d4279SBram Moolenaar"PREDEFINED VARAIABLES
91071d4279SBram Moolenaarsyn keyword tsaltSysVar	_add_lf _alarm_on _answerback_str _asc_rcrtrans
92071d4279SBram Moolenaarsyn keyword tsaltSysVar	_asc_remabort _asc_rlftrans _asc_scpacing
93071d4279SBram Moolenaarsyn keyword tsaltSysVar	_asc_scrtrans _asc_secho _asc_slpacing
94071d4279SBram Moolenaarsyn keyword tsaltSysVar	_asc_spacechr _asc_striph _back_color
95071d4279SBram Moolenaarsyn keyword tsaltSysVar	_capture_fname _connect_str _dest_bs
96071d4279SBram Moolenaarsyn keyword tsaltSysVar	_dial_pause _dial_time _dial_post
97071d4279SBram Moolenaarsyn keyword tsaltSysVar	_dial_pref1 _dial_pref2 _dial_pref3
98071d4279SBram Moolenaarsyn keyword tsaltSysVar	_dial_pref4 _dir_prog _down_dir
99071d4279SBram Moolenaarsyn keyword tsaltSysVar	_entry_bbstype _entry_comment _entry_enum
100071d4279SBram Moolenaarsyn keyword tsaltSysVar	_entry_name _entry_num _entry_logonname
101071d4279SBram Moolenaarsyn keyword tsaltSysVar	_entry_pass _fore_color _image_file
102071d4279SBram Moolenaarsyn keyword tsaltSysVar	_local_echo _mdm_hang_str _mdm_init_str
103071d4279SBram Moolenaarsyn keyword tsaltSysVar	_no_connect1 _no_connect2 _no_connect3
104071d4279SBram Moolenaarsyn keyword tsaltSysVar	_no_connect4 _no_connect5 _redial_stop
105071d4279SBram Moolenaarsyn keyword tsaltSysVar	_scr_chk_key _script_dir _sound_on
106071d4279SBram Moolenaarsyn keyword tsaltSysVar	_strip_high _swap_bs _telix_dir _up_dir
107071d4279SBram Moolenaarsyn keyword tsaltSysVar	_usage_fname _zmodauto _zmod_rcrash
108071d4279SBram Moolenaarsyn keyword tsaltSysVar	_zmod_scrash
109071d4279SBram Moolenaar"END PREDEFINED VARAIABLES
110071d4279SBram Moolenaar
111071d4279SBram Moolenaar"TYPE
112071d4279SBram Moolenaarsyn keyword tsaltType	str int
113071d4279SBram Moolenaar"END TYPE
114071d4279SBram Moolenaar
115071d4279SBram Moolenaar"KEYWORDS
116071d4279SBram Moolenaarsyn keyword tsaltStatement	goto break return continue
117071d4279SBram Moolenaarsyn keyword tsaltConditional	if then else
118071d4279SBram Moolenaarsyn keyword tsaltRepeat		while for do
119071d4279SBram Moolenaar"END KEYWORDS
120071d4279SBram Moolenaar
121071d4279SBram Moolenaarsyn keyword tsaltTodo contained	TODO
122071d4279SBram Moolenaar
123071d4279SBram Moolenaar" the rest is pretty close to C -----------------------------------------
124071d4279SBram Moolenaar
125071d4279SBram Moolenaar" String and Character constants
126071d4279SBram Moolenaar" Highlight special characters (those which have a backslash) differently
127071d4279SBram Moolenaarsyn match tsaltSpecial		contained "\^\d\d\d\|\^."
128071d4279SBram Moolenaarsyn region tsaltString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=tsaltSpecial
129071d4279SBram Moolenaarsyn match tsaltCharacter	"'[^\\]'"
130071d4279SBram Moolenaarsyn match tsaltSpecialCharacter	"'\\.'"
131071d4279SBram Moolenaar
132071d4279SBram Moolenaar"catch errors caused by wrong parenthesis
133071d4279SBram Moolenaarsyn region tsaltParen		transparent start='(' end=')' contains=ALLBUT,tsaltParenError,tsaltIncluded,tsaltSpecial,tsaltTodo
134071d4279SBram Moolenaarsyn match tsaltParenError		")"
135071d4279SBram Moolenaarsyn match tsaltInParen		contained "[{}]"
136071d4279SBram Moolenaar
137071d4279SBram Moolenaarhi link tsaltParenError		tsaltError
138071d4279SBram Moolenaarhi link tsaltInParen		tsaltError
139071d4279SBram Moolenaar
140071d4279SBram Moolenaar"integer number, or floating point number without a dot and with "f".
141071d4279SBram Moolenaarsyn match  tsaltNumber		"\<\d\+\(u\=l\=\|lu\|f\)\>"
142071d4279SBram Moolenaar"floating point number, with dot, optional exponent
143071d4279SBram Moolenaarsyn match  tsaltFloat		"\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
144071d4279SBram Moolenaar"floating point number, starting with a dot, optional exponent
145071d4279SBram Moolenaarsyn match  tsaltFloat		"\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
146071d4279SBram Moolenaar"floating point number, without dot, with exponent
147071d4279SBram Moolenaarsyn match  tsaltFloat		"\<\d\+e[-+]\=\d\+[fl]\=\>"
148071d4279SBram Moolenaar"hex number
149071d4279SBram Moolenaarsyn match  tsaltNumber		"0x[0-9a-f]\+\(u\=l\=\|lu\)\>"
150071d4279SBram Moolenaar"syn match  cIdentifier	"\<[a-z_][a-z0-9_]*\>"
151071d4279SBram Moolenaar
152071d4279SBram Moolenaarsyn region tsaltComment		start="/\*"  end="\*/" contains=cTodo
153071d4279SBram Moolenaarsyn match  tsaltComment		"//.*" contains=cTodo
154071d4279SBram Moolenaarsyn match  tsaltCommentError	"\*/"
155071d4279SBram Moolenaar
156071d4279SBram Moolenaarsyn region tsaltPreCondit	start="^[ \t]*#[ \t]*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)"  skip="\\$"  end="$" contains=tsaltComment,tsaltString,tsaltCharacter,tsaltNumber,tsaltCommentError
157071d4279SBram Moolenaarsyn region tsaltIncluded	contained start=+"+  skip=+\\\\\|\\"+  end=+"+
158071d4279SBram Moolenaarsyn match  tsaltIncluded	contained "<[^>]*>"
159071d4279SBram Moolenaarsyn match  tsaltInclude		"^[ \t]*#[ \t]*include\>[ \t]*["<]" contains=tsaltIncluded
160071d4279SBram Moolenaar"syn match  TelixSalyLineSkip	"\\$"
161071d4279SBram Moolenaarsyn region tsaltDefine		start="^[ \t]*#[ \t]*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,tsaltPreCondit,tsaltIncluded,tsaltInclude,tsaltDefine,tsaltInParen
162071d4279SBram Moolenaarsyn region tsaltPreProc		start="^[ \t]*#[ \t]*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,tsaltPreCondit,tsaltIncluded,tsaltInclude,tsaltDefine,tsaltInParen
163071d4279SBram Moolenaar
164071d4279SBram Moolenaar" Highlight User Labels
165071d4279SBram Moolenaarsyn region tsaltMulti	transparent start='?' end=':' contains=ALLBUT,tsaltIncluded,tsaltSpecial,tsaltTodo
166071d4279SBram Moolenaar
167071d4279SBram Moolenaarsyn sync ccomment tsaltComment
168071d4279SBram Moolenaar
169071d4279SBram Moolenaar
170071d4279SBram Moolenaar" Define the default highlighting.
17189bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
172071d4279SBram Moolenaar
173*f37506f6SBram Moolenaarhi def link tsaltFunction		Statement
174*f37506f6SBram Moolenaarhi def link tsaltSysVar		Type
175*f37506f6SBram Moolenaar"hi def link tsaltLibFunc		UserDefFunc
176*f37506f6SBram Moolenaar"hi def link tsaltConstants		Type
177*f37506f6SBram Moolenaar"hi def link tsaltFuncArg		Type
178*f37506f6SBram Moolenaar"hi def link tsaltOperator		Operator
179*f37506f6SBram Moolenaar"hi def link tsaltLabel		Label
180*f37506f6SBram Moolenaar"hi def link tsaltUserLabel		Label
181*f37506f6SBram Moolenaarhi def link tsaltConditional		Conditional
182*f37506f6SBram Moolenaarhi def link tsaltRepeat		Repeat
183*f37506f6SBram Moolenaarhi def link tsaltCharacter		SpecialChar
184*f37506f6SBram Moolenaarhi def link tsaltSpecialCharacter	SpecialChar
185*f37506f6SBram Moolenaarhi def link tsaltNumber		Number
186*f37506f6SBram Moolenaarhi def link tsaltFloat		Float
187*f37506f6SBram Moolenaarhi def link tsaltCommentError	tsaltError
188*f37506f6SBram Moolenaarhi def link tsaltInclude		Include
189*f37506f6SBram Moolenaarhi def link tsaltPreProc		PreProc
190*f37506f6SBram Moolenaarhi def link tsaltDefine		Macro
191*f37506f6SBram Moolenaarhi def link tsaltIncluded		tsaltString
192*f37506f6SBram Moolenaarhi def link tsaltError		Error
193*f37506f6SBram Moolenaarhi def link tsaltStatement		Statement
194*f37506f6SBram Moolenaarhi def link tsaltPreCondit		PreCondit
195*f37506f6SBram Moolenaarhi def link tsaltType		Type
196*f37506f6SBram Moolenaarhi def link tsaltString		String
197*f37506f6SBram Moolenaarhi def link tsaltComment		Comment
198*f37506f6SBram Moolenaarhi def link tsaltSpecial		Special
199*f37506f6SBram Moolenaarhi def link tsaltTodo		Todo
200071d4279SBram Moolenaar
201071d4279SBram Moolenaar
202071d4279SBram Moolenaarlet b:current_syntax = "tsalt"
203071d4279SBram Moolenaar
204b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save
205b8ff1fb5SBram Moolenaarunlet s:cpo_save
206071d4279SBram Moolenaar" vim: ts=8
207