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