| " Vim syntax file |
| " Language: tf |
| " Maintainer: Lutz Eymers <ixtab@polzin.com> |
| " URL: http://www.isp.de/data/tf.vim |
| " Email: send syntax_vim.tgz |
| " Last Change: 2001 May 10 |
| " |
| " Options lite_minlines = x to sync at least x lines backwards |
| |
| " Remove any old syntax stuff hanging around |
| |
| " 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 |
| |
| syn case match |
| |
| if !exists("main_syntax") |
| let main_syntax = 'tf' |
| endif |
| |
| " Special global variables |
| syn keyword tfVar HOME LANG MAIL SHELL TERM TFHELP TFLIBDIR TFLIBRARY TZ contained |
| syn keyword tfVar background backslash contained |
| syn keyword tfVar bamf bg_output borg clearfull cleardone clock connect contained |
| syn keyword tfVar emulation end_color gag gethostbyname gpri hook hilite contained |
| syn keyword tfVar hiliteattr histsize hpri insert isize istrip kecho contained |
| syn keyword tfVar kprefix login lp lpquote maildelay matching max_iter contained |
| syn keyword tfVar max_recur mecho more mprefix oldslash promt_sec contained |
| syn keyword tfVar prompt_usec proxy_host proxy_port ptime qecho qprefix contained |
| syn keyword tfVar quite quitdone redef refreshtime scroll shpause snarf sockmload contained |
| syn keyword tfVar start_color tabsize telopt sub time_format visual contained |
| syn keyword tfVar watch_dog watchname wordpunct wrap wraplog wrapsize contained |
| syn keyword tfVar wrapspace contained |
| |
| " Worldvar |
| syn keyword tfWorld world_name world_character world_password world_host contained |
| syn keyword tfWorld world_port world_mfile world_type contained |
| |
| " Number |
| syn match tfNumber "-\=\<\d\+\>" |
| |
| " Float |
| syn match tfFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" |
| |
| " Operator |
| syn match tfOperator "[-+=?:&|!]" |
| syn match tfOperator "/[^*~@]"he=e-1 |
| syn match tfOperator ":=" |
| syn match tfOperator "[^/%]\*"hs=s+1 |
| syn match tfOperator "$\+[([{]"he=e-1,me=e-1 |
| syn match tfOperator "\^\[\+"he=s+1 contains=tfSpecialCharEsc |
| |
| " Relational |
| syn match tfRelation "&&" |
| syn match tfRelation "||" |
| syn match tfRelation "[<>/!=]=" |
| syn match tfRelation "[<>]" |
| syn match tfRelation "[!=]\~" |
| syn match tfRelation "[=!]/" |
| |
| |
| " Readonly Var |
| syn match tfReadonly "[#*]" contained |
| syn match tfReadonly "\<-\=L\=\d\{-}\>" contained |
| syn match tfReadonly "\<P\(\d\+\|R\|L\)\>" contained |
| syn match tfReadonly "\<R\>" contained |
| |
| " Identifier |
| syn match tfIdentifier "%\+[a-zA-Z_#*-0-9]\w*" contains=tfVar,tfReadonly |
| syn match tfIdentifier "%\+[{]"he=e-1,me=e-1 |
| syn match tfIdentifier "\$\+{[a-zA-Z_#*-0-9]\w*}" contains=tfWorld |
| |
| " Function names |
| syn keyword tfFunctions ascii char columns echo filename ftime fwrite getopts |
| syn keyword tfFunctions getpid idle kbdel kbgoto kbhead kblen kbmatch kbpoint |
| syn keyword tfFunctions kbtail kbwordleft kbwordright keycode lines mod |
| syn keyword tfFunctions moresize pad rand read regmatch send strcat strchr |
| syn keyword tfFunctions strcmp strlen strncmp strrchr strrep strstr substr |
| syn keyword tfFunctions systype time tolower toupper |
| |
| syn keyword tfStatement addworld bamf beep bind break cat changes connect contained |
| syn keyword tfStatement dc def dokey echo edit escape eval export expr fg for contained |
| syn keyword tfStatement gag getfile grab help hilite histsize hook if input contained |
| syn keyword tfStatement kill lcd let list listsockets listworlds load contained |
| syn keyword tfStatement localecho log nohilite not partial paste ps purge contained |
| syn keyword tfStatement purgeworld putfile quit quote recall recordline save contained |
| syn keyword tfStatement saveworld send sh shift sub substitute contained |
| syn keyword tfStatement suspend telnet test time toggle trig trigger unbind contained |
| syn keyword tfStatement undef undefn undeft unhook untrig unworld contained |
| syn keyword tfStatement version watchdog watchname while world contained |
| |
| " Hooks |
| syn keyword tfHook ACTIVITY BACKGROUND BAMF CONFAIL CONFLICT CONNECT DISCONNECT |
| syn keyword tfHook KILL LOAD LOADFAIL LOG LOGIN MAIL MORE PENDING PENDING |
| syn keyword tfHook PROCESS PROMPT PROXY REDEF RESIZE RESUME SEND SHADOW SHELL |
| syn keyword tfHook SIGHUP SIGTERM SIGUSR1 SIGUSR2 WORLD |
| |
| " Conditional |
| syn keyword tfConditional if endif then else elseif contained |
| |
| " Repeat |
| syn keyword tfRepeat while do done repeat for contained |
| |
| " Statement |
| syn keyword tfStatement break quit contained |
| |
| " Include |
| syn keyword tfInclude require load save loaded contained |
| |
| " Define |
| syn keyword tfDefine bind unbind def undef undefn undefn purge hook unhook trig untrig contained |
| syn keyword tfDefine set unset setenv contained |
| |
| " Todo |
| syn keyword tfTodo TODO Todo todo contained |
| |
| " SpecialChar |
| syn match tfSpecialChar "\\[abcfnrtyv\\]" contained |
| syn match tfSpecialChar "\\\d\{3}" contained contains=tfOctalError |
| syn match tfSpecialChar "\\x[0-9a-fA-F]\{2}" contained |
| syn match tfSpecialCharEsc "\[\+" contained |
| |
| syn match tfOctalError "[89]" contained |
| |
| " Comment |
| syn region tfComment start="^;" end="$" contains=tfTodo |
| |
| " String |
| syn region tfString oneline matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=tfIdentifier,tfSpecialChar,tfEscape |
| syn region tfString matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=tfIdentifier,tfSpecialChar,tfEscape |
| |
| syn match tfParentError "[)}\]]" |
| |
| " Parents |
| syn region tfParent matchgroup=Delimiter start="(" end=")" contains=ALLBUT,tfReadonly |
| syn region tfParent matchgroup=Delimiter start="\[" end="\]" contains=ALL |
| syn region tfParent matchgroup=Delimiter start="{" end="}" contains=ALL |
| |
| syn match tfEndCommand "%%\{-};" |
| syn match tfJoinLines "\\$" |
| |
| " Types |
| |
| syn match tfType "/[a-zA-Z_~@][a-zA-Z0-9_]*" contains=tfConditional,tfRepeat,tfStatement,tfInclude,tfDefine,tfStatement |
| |
| " Catch /quote .. ' |
| syn match tfQuotes "/quote .\{-}'" contains=ALLBUT,tfString |
| " Catch $(/escape ) |
| syn match tfEscape "(/escape .*)" |
| |
| " sync |
| if exists("tf_minlines") |
| exec "syn sync minlines=" . tf_minlines |
| else |
| syn sync minlines=100 |
| endif |
| |
| " 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_tf_syn_inits") |
| if version < 508 |
| let did_tf_syn_inits = 1 |
| command -nargs=+ HiLink hi link <args> |
| else |
| command -nargs=+ HiLink hi def link <args> |
| endif |
| |
| HiLink tfComment Comment |
| HiLink tfString String |
| HiLink tfNumber Number |
| HiLink tfFloat Float |
| HiLink tfIdentifier Identifier |
| HiLink tfVar Identifier |
| HiLink tfWorld Identifier |
| HiLink tfReadonly Identifier |
| HiLink tfHook Identifier |
| HiLink tfFunctions Function |
| HiLink tfRepeat Repeat |
| HiLink tfConditional Conditional |
| HiLink tfLabel Label |
| HiLink tfStatement Statement |
| HiLink tfType Type |
| HiLink tfInclude Include |
| HiLink tfDefine Define |
| HiLink tfSpecialChar SpecialChar |
| HiLink tfSpecialCharEsc SpecialChar |
| HiLink tfParentError Error |
| HiLink tfTodo Todo |
| HiLink tfEndCommand Delimiter |
| HiLink tfJoinLines Delimiter |
| HiLink tfOperator Operator |
| HiLink tfRelation Operator |
| |
| delcommand HiLink |
| endif |
| |
| let b:current_syntax = "tf" |
| |
| if main_syntax == 'tf' |
| unlet main_syntax |
| endif |
| |
| " vim: ts=8 |