| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:	Expect | 
					
						
							|  |  |  | " Maintainer:	Ralph Jennings <knowbudy@oro.net> | 
					
						
							| 
									
										
										
										
											2012-06-01 22:38:45 +02:00
										 |  |  | " Last Change:	2012 Jun 01 | 
					
						
							|  |  |  | " 		(Dominique Pelle added @Spell) | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Reserved Expect variable prefixes. | 
					
						
							|  |  |  | syn match   expectVariables "\$exp[a-zA-Z0-9_]*\|\$inter[a-zA-Z0-9_]*" | 
					
						
							|  |  |  | syn match   expectVariables "\$spawn[a-zA-Z0-9_]*\|\$timeout[a-zA-Z0-9_]*" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Normal Expect variables. | 
					
						
							|  |  |  | syn match   expectVariables "\$env([^)]*)" | 
					
						
							|  |  |  | syn match   expectVariables "\$any_spawn_id\|\$argc\|\$argv\d*" | 
					
						
							|  |  |  | syn match   expectVariables "\$user_spawn_id\|\$spawn_id\|\$timeout" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Expect variable arrays. | 
					
						
							|  |  |  | syn match   expectVariables "\$\(expect\|interact\)_out([^)]*)"			contains=expectOutVar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " User defined variables. | 
					
						
							|  |  |  | syn match   expectVariables "\$[a-zA-Z_][a-zA-Z0-9_]*" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Reserved Expect command prefixes. | 
					
						
							|  |  |  | syn match   expectCommand    "exp_[a-zA-Z0-9_]*" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Normal Expect commands. | 
					
						
							|  |  |  | syn keyword expectStatement	close debug disconnect | 
					
						
							|  |  |  | syn keyword expectStatement	exit exp_continue exp_internal exp_open | 
					
						
							|  |  |  | syn keyword expectStatement	exp_pid exp_version | 
					
						
							|  |  |  | syn keyword expectStatement	fork inter_return interpreter | 
					
						
							|  |  |  | syn keyword expectStatement	log_file log_user match_max overlay | 
					
						
							|  |  |  | syn keyword expectStatement	parity remove_nulls return | 
					
						
							|  |  |  | syn keyword expectStatement	send send_error send_log send_user | 
					
						
							|  |  |  | syn keyword expectStatement	sleep spawn strace stty system | 
					
						
							|  |  |  | syn keyword expectStatement	timestamp trace trap wait | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Tcl commands recognized and used by Expect. | 
					
						
							|  |  |  | syn keyword expectCommand		proc | 
					
						
							|  |  |  | syn keyword expectConditional	if else | 
					
						
							|  |  |  | syn keyword expectRepeat		while for foreach | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Expect commands with special arguments. | 
					
						
							|  |  |  | syn keyword expectStatement	expect expect_after expect_background			nextgroup=expectExpectOpts | 
					
						
							|  |  |  | syn keyword expectStatement	expect_before expect_user interact			nextgroup=expectExpectOpts | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   expectSpecial contained  "\\." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Options for "expect", "expect_after", "expect_background", | 
					
						
							|  |  |  | " "expect_before", "expect_user", and "interact". | 
					
						
							|  |  |  | syn keyword expectExpectOpts	default eof full_buffer null return timeout | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword expectOutVar  contained  spawn_id seconds seconds_total | 
					
						
							|  |  |  | syn keyword expectOutVar  contained  string start end buffer | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Numbers (Tcl style). | 
					
						
							|  |  |  | syn case ignore | 
					
						
							|  |  |  |   syn match  expectNumber	"\<\d\+\(u\=l\=\|lu\|f\)\>" | 
					
						
							|  |  |  |   "floating point number, with dot, optional exponent | 
					
						
							|  |  |  |   syn match  expectNumber	"\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" | 
					
						
							|  |  |  |   "floating point number, starting with a dot, optional exponent | 
					
						
							|  |  |  |   syn match  expectNumber	"\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" | 
					
						
							|  |  |  |   "floating point number, without dot, with exponent | 
					
						
							|  |  |  |   syn match  expectNumber	"\<\d\+e[-+]\=\d\+[fl]\=\>" | 
					
						
							|  |  |  |   "hex number | 
					
						
							|  |  |  |   syn match  expectNumber	"0x[0-9a-f]\+\(u\=l\=\|lu\)\>" | 
					
						
							|  |  |  |   "syn match  expectIdentifier	"\<[a-z_][a-z0-9_]*\>" | 
					
						
							|  |  |  | syn case match | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-01 22:38:45 +02:00
										 |  |  | syn region  expectString	start=+"+  end=+"+  contains=@Spell,expectVariables,expectSpecial | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Are these really comments in Expect? (I never use it, so I'm just guessing). | 
					
						
							|  |  |  | syn keyword expectTodo		contained TODO | 
					
						
							| 
									
										
										
										
											2012-06-01 22:38:45 +02:00
										 |  |  | syn match   expectComment	"#.*$" contains=@Spell,expectTodo | 
					
						
							|  |  |  | syn match   expectSharpBang	"\%^#!.*" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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 expectSharpBang	PreProc | 
					
						
							|  |  |  | hi def link expectVariables	Special | 
					
						
							|  |  |  | hi def link expectCommand		Function | 
					
						
							|  |  |  | hi def link expectStatement	Statement | 
					
						
							|  |  |  | hi def link expectConditional	Conditional | 
					
						
							|  |  |  | hi def link expectRepeat		Repeat | 
					
						
							|  |  |  | hi def link expectExpectOpts	Keyword | 
					
						
							|  |  |  | hi def link expectOutVar		Special | 
					
						
							|  |  |  | hi def link expectSpecial		Special | 
					
						
							|  |  |  | hi def link expectNumber		Number | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | hi def link expectString		String | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | hi def link expectComment		Comment | 
					
						
							|  |  |  | hi def link expectTodo		Todo | 
					
						
							|  |  |  | "hi def link expectIdentifier	Identifier | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "expect" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " vim: ts=8 |