211 lines
8.2 KiB
VimL
211 lines
8.2 KiB
VimL
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
|
||
|
|
||
|
" 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
|
||
|
|
||
|
endif
|