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