tf.vim (6905B)
1 " Vim syntax file 2 " Language: tf 3 " Maintainer: Lutz Eymers <ixtab@polzin.com> 4 " URL: http://www.isp.de/data/tf.vim 5 " Email: send syntax_vim.tgz 6 " Last Change: 2001 May 10 7 " 8 " Options lite_minlines = x to sync at least x lines backwards 9 10 " Remove any old syntax stuff hanging around 11 12 " quit when a syntax file was already loaded 13 if exists("b:current_syntax") 14 finish 15 endif 16 17 syn case match 18 19 if !exists("main_syntax") 20 let main_syntax = 'tf' 21 endif 22 23 " Special global variables 24 syn keyword tfVar HOME LANG MAIL SHELL TERM TFHELP TFLIBDIR TFLIBRARY TZ contained 25 syn keyword tfVar background backslash contained 26 syn keyword tfVar bamf bg_output borg clearfull cleardone clock connect contained 27 syn keyword tfVar emulation end_color gag gethostbyname gpri hook hilite contained 28 syn keyword tfVar hiliteattr histsize hpri insert isize istrip kecho contained 29 syn keyword tfVar kprefix login lp lpquote maildelay matching max_iter contained 30 syn keyword tfVar max_recur mecho more mprefix oldslash prompt_sec contained 31 syn keyword tfVar prompt_usec proxy_host proxy_port ptime qecho qprefix contained 32 syn keyword tfVar quite quitdone redef refreshtime scroll shpause snarf sockmload contained 33 syn keyword tfVar start_color tabsize telopt sub time_format visual contained 34 syn keyword tfVar watch_dog watchname wordpunct wrap wraplog wrapsize contained 35 syn keyword tfVar wrapspace contained 36 37 " Worldvar 38 syn keyword tfWorld world_name world_character world_password world_host contained 39 syn keyword tfWorld world_port world_mfile world_type contained 40 41 " Number 42 syn match tfNumber "-\=\<\d\+\>" 43 44 " Float 45 syn match tfFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" 46 47 " Operator 48 syn match tfOperator "[-+=?:&|!]" 49 syn match tfOperator "/[^*~@]"he=e-1 50 syn match tfOperator ":=" 51 syn match tfOperator "[^/%]\*"hs=s+1 52 syn match tfOperator "$\+[([{]"he=e-1,me=e-1 53 syn match tfOperator "\^\[\+"he=s+1 contains=tfSpecialCharEsc 54 55 " Relational 56 syn match tfRelation "&&" 57 syn match tfRelation "||" 58 syn match tfRelation "[<>/!=]=" 59 syn match tfRelation "[<>]" 60 syn match tfRelation "[!=]\~" 61 syn match tfRelation "[=!]/" 62 63 64 " Readonly Var 65 syn match tfReadonly "[#*]" contained 66 syn match tfReadonly "\<-\=L\=\d\{-}\>" contained 67 syn match tfReadonly "\<P\(\d\+\|R\|L\)\>" contained 68 syn match tfReadonly "\<R\>" contained 69 70 " Identifier 71 syn match tfIdentifier "%\+[a-zA-Z_#*-0-9]\w*" contains=tfVar,tfReadonly 72 syn match tfIdentifier "%\+[{]"he=e-1,me=e-1 73 syn match tfIdentifier "\$\+{[a-zA-Z_#*-0-9]\w*}" contains=tfWorld 74 75 " Function names 76 syn keyword tfFunctions ascii char columns echo filename ftime fwrite getopts 77 syn keyword tfFunctions getpid idle kbdel kbgoto kbhead kblen kbmatch kbpoint 78 syn keyword tfFunctions kbtail kbwordleft kbwordright keycode lines mod 79 syn keyword tfFunctions moresize pad rand read regmatch send strcat strchr 80 syn keyword tfFunctions strcmp strlen strncmp strrchr strrep strstr substr 81 syn keyword tfFunctions systype time tolower toupper 82 83 syn keyword tfStatement addworld bamf beep bind break cat changes connect contained 84 syn keyword tfStatement dc def dokey echo edit escape eval export expr fg for contained 85 syn keyword tfStatement gag getfile grab help hilite histsize hook if input contained 86 syn keyword tfStatement kill lcd let list listsockets listworlds load contained 87 syn keyword tfStatement localecho log nohilite not partial paste ps purge contained 88 syn keyword tfStatement purgeworld putfile quit quote recall recordline save contained 89 syn keyword tfStatement saveworld send sh shift sub substitute contained 90 syn keyword tfStatement suspend telnet test time toggle trig trigger unbind contained 91 syn keyword tfStatement undef undefn undeft unhook untrig unworld contained 92 syn keyword tfStatement version watchdog watchname while world contained 93 94 " Hooks 95 syn keyword tfHook ACTIVITY BACKGROUND BAMF CONFAIL CONFLICT CONNECT DISCONNECT 96 syn keyword tfHook KILL LOAD LOADFAIL LOG LOGIN MAIL MORE PENDING PENDING 97 syn keyword tfHook PROCESS PROMPT PROXY REDEF RESIZE RESUME SEND SHADOW SHELL 98 syn keyword tfHook SIGHUP SIGTERM SIGUSR1 SIGUSR2 WORLD 99 100 " Conditional 101 syn keyword tfConditional if endif then else elseif contained 102 103 " Repeat 104 syn keyword tfRepeat while do done repeat for contained 105 106 " Statement 107 syn keyword tfStatement break quit contained 108 109 " Include 110 syn keyword tfInclude require load save loaded contained 111 112 " Define 113 syn keyword tfDefine bind unbind def undef undefn undefn purge hook unhook trig untrig contained 114 syn keyword tfDefine set unset setenv contained 115 116 " Todo 117 syn keyword tfTodo TODO Todo todo contained 118 119 " SpecialChar 120 syn match tfSpecialChar "\\[abcfnrtyv\\]" contained 121 syn match tfSpecialChar "\\\d\{3}" contained contains=tfOctalError 122 syn match tfSpecialChar "\\x[0-9a-fA-F]\{2}" contained 123 syn match tfSpecialCharEsc "\[\+" contained 124 125 syn match tfOctalError "[89]" contained 126 127 " Comment 128 syn region tfComment start="^;" end="$" contains=tfTodo 129 130 " String 131 syn region tfString oneline matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=tfIdentifier,tfSpecialChar,tfEscape 132 syn region tfString matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=tfIdentifier,tfSpecialChar,tfEscape 133 134 syn match tfParentError "[)}\]]" 135 136 " Parents 137 syn region tfParent matchgroup=Delimiter start="(" end=")" contains=ALLBUT,tfReadonly 138 syn region tfParent matchgroup=Delimiter start="\[" end="\]" contains=ALL 139 syn region tfParent matchgroup=Delimiter start="{" end="}" contains=ALL 140 141 syn match tfEndCommand "%%\{-};" 142 syn match tfJoinLines "\\$" 143 144 " Types 145 146 syn match tfType "/[a-zA-Z_~@][a-zA-Z0-9_]*" contains=tfConditional,tfRepeat,tfStatement,tfInclude,tfDefine,tfStatement 147 148 " Catch /quote .. ' 149 syn match tfQuotes "/quote .\{-}'" contains=ALLBUT,tfString 150 " Catch $(/escape ) 151 syn match tfEscape "(/escape .*)" 152 153 " sync 154 if exists("tf_minlines") 155 exec "syn sync minlines=" . tf_minlines 156 else 157 syn sync minlines=100 158 endif 159 160 " Define the default highlighting. 161 " Only when an item doesn't have highlighting yet 162 163 hi def link tfComment Comment 164 hi def link tfString String 165 hi def link tfNumber Number 166 hi def link tfFloat Float 167 hi def link tfIdentifier Identifier 168 hi def link tfVar Identifier 169 hi def link tfWorld Identifier 170 hi def link tfReadonly Identifier 171 hi def link tfHook Identifier 172 hi def link tfFunctions Function 173 hi def link tfRepeat Repeat 174 hi def link tfConditional Conditional 175 hi def link tfLabel Label 176 hi def link tfStatement Statement 177 hi def link tfType Type 178 hi def link tfInclude Include 179 hi def link tfDefine Define 180 hi def link tfSpecialChar SpecialChar 181 hi def link tfSpecialCharEsc SpecialChar 182 hi def link tfParentError Error 183 hi def link tfTodo Todo 184 hi def link tfEndCommand Delimiter 185 hi def link tfJoinLines Delimiter 186 hi def link tfOperator Operator 187 hi def link tfRelation Operator 188 189 190 let b:current_syntax = "tf" 191 192 if main_syntax == 'tf' 193 unlet main_syntax 194 endif 195 196 " vim: ts=8