neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

tsalt.vim (8324B)


      1 " Vim syntax file
      2 " Language:	Telix (Modem Comm Program) SALT Script
      3 " Maintainer:	Sean M. McKee <mckee@misslink.net>
      4 " Last Change:	2012 Feb 03 by Thilo Six
      5 " Version Info: @(#)tsalt.vim	1.5	97/12/16 08:11:15
      6 
      7 " quit when a syntax file was already loaded
      8 if exists("b:current_syntax")
      9  finish
     10 endif
     11 
     12 let s:cpo_save = &cpo
     13 set cpo&vim
     14 
     15 " turn case matching off
     16 syn case ignore
     17 
     18 "FUNCTIONS
     19 " Character Handling Functions
     20 syn keyword tsaltFunction	IsAscii IsAlNum IsAlpha IsCntrl IsDigit
     21 syn keyword tsaltFunction	IsLower IsUpper ToLower ToUpper
     22 
     23 " Connect Device Operations
     24 syn keyword tsaltFunction	Carrier cInp_Cnt cGetC cGetCT cPutC cPutN
     25 syn keyword tsaltFunction	cPutS cPutS_TR FlushBuf Get_Baud
     26 syn keyword tsaltFunction	Get_DataB Get_Port Get_StopB Hangup
     27 syn keyword tsaltFunction	KillConnectDevice MakeConnectDevice
     28 syn keyword tsaltFunction	Send_Brk Set_ConnectDevice Set_Port
     29 
     30 " File Input/Output Operations
     31 syn keyword tsaltFunction	fClearErr fClose fDelete fError fEOF fFlush
     32 syn keyword tsaltFunction	fGetC fGetS FileAttr FileFind FileSize
     33 syn keyword tsaltFunction	FileTime fnStrip fOpen fPutC fPutS fRead
     34 syn keyword tsaltFunction	fRename fSeek fTell fWrite
     35 
     36 " File Transfers and Logs
     37 syn keyword tsaltFunction	Capture Capture_Stat Printer Receive Send
     38 syn keyword tsaltFunction	Set_DefProt UsageLog Usage_Stat UStamp
     39 
     40 " Input String Matching
     41 syn keyword tsaltFunction	Track Track_AddChr Track_Free Track_Hit
     42 syn keyword tsaltFunction	WaitFor
     43 
     44 " Keyboard Operations
     45 syn keyword tsaltFunction	InKey InKeyW KeyGet KeyLoad KeySave KeySet
     46 
     47 " Miscellaneous Functions
     48 syn keyword tsaltFunction	ChatMode Dos Dial DosFunction ExitTelix
     49 syn keyword tsaltFunction	GetEnv GetFon HelpScreen LoadFon NewDir
     50 syn keyword tsaltFunction	Randon Redial RedirectDOS Run
     51 syn keyword tsaltFunction	Set_Terminal Show_Directory TelixVersion
     52 syn keyword tsaltFunction	Terminal TransTab Update_Term
     53 
     54 " Script Management
     55 syn keyword tsaltFunction	ArgCount Call CallD CompileScript GetRunPath
     56 syn keyword tsaltFunction	Is_Loaded Load_Scr ScriptVersion
     57 syn keyword tsaltFunction	TelixForWindows Unload_Scr
     58 
     59 " Sound Functions
     60 syn keyword tsaltFunction	Alarm PlayWave Tone
     61 
     62 " String Handling
     63 syn keyword tsaltFunction	CopyChrs CopyStr DelChrs GetS GetSXY
     64 syn keyword tsaltFunction	InputBox InsChrs ItoS SetChr StoI StrCat
     65 syn keyword tsaltFunction	StrChr StrCompI StrLen StrLower StrMaxLen
     66 syn keyword tsaltFunction	StrPos StrPosI StrUpper SubChr SubChrs
     67 syn keyword tsaltFunction	SubStr
     68 
     69 " Time, Date, and Timer Operations
     70 syn keyword tsaltFunction	CurTime Date Delay Delay_Scr Get_OnlineTime
     71 syn keyword tsaltFunction	tDay tHour tMin tMonth tSec tYear Time
     72 syn keyword tsaltFunction	Time_Up Timer_Free Time_Restart
     73 syn keyword tsaltFunction	Time_Start Time_Total
     74 
     75 " Video Operations
     76 syn keyword tsaltFunction	Box CNewLine Cursor_OnOff Clear_Scr
     77 syn keyword tsaltFunction	GetTermHeight GetTermWidth GetX GetY
     78 syn keyword tsaltFunction	GotoXY MsgBox NewLine PrintC PrintC_Trm
     79 syn keyword tsaltFunction	PrintN PrintN_Trm PrintS PrintS_Trm
     80 syn keyword tsaltFunction	PrintSC PRintSC_Trm
     81 syn keyword tsaltFunction	PStrA PStrAXY Scroll Status_Wind vGetChr
     82 syn keyword tsaltFunction	vGetChrs vGetChrsA  vPutChr vPutChrs
     83 syn keyword tsaltFunction	vPutChrsA vRstrArea vSaveArea
     84 
     85 " Dynamic Data Exchange (DDE) Operations
     86 syn keyword tsaltFunction	DDEExecute DDEInitiate DDEPoke DDERequest
     87 syn keyword tsaltFunction	DDETerminate DDETerminateAll
     88 "END FUNCTIONS
     89 
     90 "PREDEFINED VARIABLES
     91 syn keyword tsaltSysVar	_add_lf _alarm_on _answerback_str _asc_rcrtrans
     92 syn keyword tsaltSysVar	_asc_remabort _asc_rlftrans _asc_scpacing
     93 syn keyword tsaltSysVar	_asc_scrtrans _asc_secho _asc_slpacing
     94 syn keyword tsaltSysVar	_asc_spacechr _asc_striph _back_color
     95 syn keyword tsaltSysVar	_capture_fname _connect_str _dest_bs
     96 syn keyword tsaltSysVar	_dial_pause _dial_time _dial_post
     97 syn keyword tsaltSysVar	_dial_pref1 _dial_pref2 _dial_pref3
     98 syn keyword tsaltSysVar	_dial_pref4 _dir_prog _down_dir
     99 syn keyword tsaltSysVar	_entry_bbstype _entry_comment _entry_enum
    100 syn keyword tsaltSysVar	_entry_name _entry_num _entry_logonname
    101 syn keyword tsaltSysVar	_entry_pass _fore_color _image_file
    102 syn keyword tsaltSysVar	_local_echo _mdm_hang_str _mdm_init_str
    103 syn keyword tsaltSysVar	_no_connect1 _no_connect2 _no_connect3
    104 syn keyword tsaltSysVar	_no_connect4 _no_connect5 _redial_stop
    105 syn keyword tsaltSysVar	_scr_chk_key _script_dir _sound_on
    106 syn keyword tsaltSysVar	_strip_high _swap_bs _telix_dir _up_dir
    107 syn keyword tsaltSysVar	_usage_fname _zmodauto _zmod_rcrash
    108 syn keyword tsaltSysVar	_zmod_scrash
    109 "END PREDEFINED VARIABLES
    110 
    111 "TYPE
    112 syn keyword tsaltType	str int
    113 "END TYPE
    114 
    115 "KEYWORDS
    116 syn keyword tsaltStatement	goto break return continue
    117 syn keyword tsaltConditional	if then else
    118 syn keyword tsaltRepeat		while for do
    119 "END KEYWORDS
    120 
    121 syn keyword tsaltTodo contained	TODO
    122 
    123 " the rest is pretty close to C -----------------------------------------
    124 
    125 " String and Character constants
    126 " Highlight special characters (those which have a backslash) differently
    127 syn match tsaltSpecial		contained "\^\d\d\d\|\^."
    128 syn region tsaltString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=tsaltSpecial
    129 syn match tsaltCharacter	"'[^\\]'"
    130 syn match tsaltSpecialCharacter	"'\\.'"
    131 
    132 "catch errors caused by wrong parenthesis
    133 syn region tsaltParen		transparent start='(' end=')' contains=ALLBUT,tsaltParenError,tsaltIncluded,tsaltSpecial,tsaltTodo
    134 syn match tsaltParenError		")"
    135 syn match tsaltInParen		contained "[{}]"
    136 
    137 hi link tsaltParenError		tsaltError
    138 hi link tsaltInParen		tsaltError
    139 
    140 "integer number, or floating point number without a dot and with "f".
    141 syn match  tsaltNumber		"\<\d\+\(u\=l\=\|lu\|f\)\>"
    142 "floating point number, with dot, optional exponent
    143 syn match  tsaltFloat		"\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
    144 "floating point number, starting with a dot, optional exponent
    145 syn match  tsaltFloat		"\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
    146 "floating point number, without dot, with exponent
    147 syn match  tsaltFloat		"\<\d\+e[-+]\=\d\+[fl]\=\>"
    148 "hex number
    149 syn match  tsaltNumber		"0x[0-9a-f]\+\(u\=l\=\|lu\)\>"
    150 "syn match  cIdentifier	"\<[a-z_][a-z0-9_]*\>"
    151 
    152 syn region tsaltComment		start="/\*"  end="\*/" contains=cTodo
    153 syn match  tsaltComment		"//.*" contains=cTodo
    154 syn match  tsaltCommentError	"\*/"
    155 
    156 syn region tsaltPreCondit	start="^[ \t]*#[ \t]*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)"  skip="\\$"  end="$" contains=tsaltComment,tsaltString,tsaltCharacter,tsaltNumber,tsaltCommentError
    157 syn region tsaltIncluded	contained start=+"+  skip=+\\\\\|\\"+  end=+"+
    158 syn match  tsaltIncluded	contained "<[^>]*>"
    159 syn match  tsaltInclude		"^[ \t]*#[ \t]*include\>[ \t]*["<]" contains=tsaltIncluded
    160 "syn match  TelixSalyLineSkip	"\\$"
    161 syn region tsaltDefine		start="^[ \t]*#[ \t]*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,tsaltPreCondit,tsaltIncluded,tsaltInclude,tsaltDefine,tsaltInParen
    162 syn region tsaltPreProc		start="^[ \t]*#[ \t]*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,tsaltPreCondit,tsaltIncluded,tsaltInclude,tsaltDefine,tsaltInParen
    163 
    164 " Highlight User Labels
    165 syn region tsaltMulti	transparent start='?' end=':' contains=ALLBUT,tsaltIncluded,tsaltSpecial,tsaltTodo
    166 
    167 syn sync ccomment tsaltComment
    168 
    169 
    170 " Define the default highlighting.
    171 " Only when an item doesn't have highlighting yet
    172 
    173 hi def link tsaltFunction		Statement
    174 hi def link tsaltSysVar		Type
    175 "hi def link tsaltLibFunc		UserDefFunc
    176 "hi def link tsaltConstants		Type
    177 "hi def link tsaltFuncArg		Type
    178 "hi def link tsaltOperator		Operator
    179 "hi def link tsaltLabel		Label
    180 "hi def link tsaltUserLabel		Label
    181 hi def link tsaltConditional		Conditional
    182 hi def link tsaltRepeat		Repeat
    183 hi def link tsaltCharacter		SpecialChar
    184 hi def link tsaltSpecialCharacter	SpecialChar
    185 hi def link tsaltNumber		Number
    186 hi def link tsaltFloat		Float
    187 hi def link tsaltCommentError	tsaltError
    188 hi def link tsaltInclude		Include
    189 hi def link tsaltPreProc		PreProc
    190 hi def link tsaltDefine		Macro
    191 hi def link tsaltIncluded		tsaltString
    192 hi def link tsaltError		Error
    193 hi def link tsaltStatement		Statement
    194 hi def link tsaltPreCondit		PreCondit
    195 hi def link tsaltType		Type
    196 hi def link tsaltString		String
    197 hi def link tsaltComment		Comment
    198 hi def link tsaltSpecial		Special
    199 hi def link tsaltTodo		Todo
    200 
    201 
    202 let b:current_syntax = "tsalt"
    203 
    204 let &cpo = s:cpo_save
    205 unlet s:cpo_save
    206 " vim: ts=8