| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   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. | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " Only when an item doesn't have highlighting yet | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "tf" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if main_syntax == 'tf' | 
					
						
							|  |  |  |   unlet main_syntax | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " vim: ts=8 |