123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- " 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
|