diff runtime/syntax/expect.vim @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 9cb3a75a20b9
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/expect.vim
@@ -0,0 +1,113 @@
+" Vim syntax file
+" Language:	Expect
+" Maintainer:	Ralph Jennings <knowbudy@oro.net>
+" Last Change:	2001 May 09
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  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
+
+syn region  expectString	start=+"+  end=+"+  contains=expectVariables,expectSpecial
+
+" Are these really comments in Expect? (I never use it, so I'm just guessing).
+syn keyword expectTodo		contained TODO
+syn match   expectComment		"#.*$" contains=expectTodo
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_expect_syntax_inits")
+  if version < 508
+    let did_expect_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink expectVariables	Special
+  HiLink expectCommand		Function
+  HiLink expectStatement	Statement
+  HiLink expectConditional	Conditional
+  HiLink expectRepeat		Repeat
+  HiLink expectExpectOpts	Keyword
+  HiLink expectOutVar		Special
+  HiLink expectSpecial		Special
+  HiLink expectNumber		Number
+
+  HiLink expectString		String
+
+  HiLink expectComment		Comment
+  HiLink expectTodo		Todo
+  "HiLink expectIdentifier	Identifier
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "expect"
+
+" vim: ts=8