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