123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- " 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
- " quit when a syntax file was already loaded
- if 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.
- " Only when an item doesn't have highlighting yet
- hi def link tfComment Comment
- hi def link tfString String
- hi def link tfNumber Number
- hi def link tfFloat Float
- hi def link tfIdentifier Identifier
- hi def link tfVar Identifier
- hi def link tfWorld Identifier
- hi def link tfReadonly Identifier
- hi def link tfHook Identifier
- hi def link tfFunctions Function
- hi def link tfRepeat Repeat
- hi def link tfConditional Conditional
- hi def link tfLabel Label
- hi def link tfStatement Statement
- hi def link tfType Type
- hi def link tfInclude Include
- hi def link tfDefine Define
- hi def link tfSpecialChar SpecialChar
- hi def link tfSpecialCharEsc SpecialChar
- hi def link tfParentError Error
- hi def link tfTodo Todo
- hi def link tfEndCommand Delimiter
- hi def link tfJoinLines Delimiter
- hi def link tfOperator Operator
- hi def link tfRelation Operator
- let b:current_syntax = "tf"
- if main_syntax == 'tf'
- unlet main_syntax
- endif
- " vim: ts=8
|