Menu

[7d5c33]: / syntax / tcl.jsf  Maximize  Restore  History

Download this file

279 lines (256 with data), 4.2 kB

# JOE syntax highlight file for TCL

=Idle
=Ident
=Comment
=Constant
=String		+Constant
=Escape
=StringEscape	+Escape +String
=Keyword
=Statement	+Keyword
=Conditional	+Statement
=Loop		+Statement
=StringVariable	+StringEscape
=Subst		+StringVariable
=SubstEscape	+Escape

:reset Idle
	*		command		noeat
	"#"		comment		recolor=-1
	" \t}"		reset

:comment Comment comment
	*		comment
	"\n"		reset
	"BFHNTX"	comment		noeat call=comment_todo.comment_todo()

:command Idle
	*		ident		buffer
	"\""		string		recolor=-1
	"\n"		reset
	";[{"		reset

:args Idle
	*		args
	";[{\n"		reset
	"\\"		quote		recolor=-1
	"\""		string		recolor=-1

:quote Escape
	*		args

:string String string
	*		string
	"\\"		escape		recolor=-1
	"\""		args
	"$"		subst		recolor=-1

:escape StringEscape string
	*		string
	"0-7"		octal2
	"x"		hex1
	"u"		unicode1

:octal2 StringEscape string
	*		string		noeat
	"0-7"		octal3

:octal3 StringEscape string
	*		string		noeat
	"0-7"		string

:unicode1 StringEscape string
	*		string		noeat
	"0-9a-fA-F"	unicode2

:unicode2 StringEscape string
	*		string		noeat
	"0-9a-fA-F"	hex1

:hex1 StringEscape string
	*		string		noeat
	"0-9a-fA-F"	hex2

:hex2 StringEscape string
	*		string		noeat
	"0-9a-fA-F"	string

:subst SubstEscape string
	*		string		noeat recolor=-2
	"a-zA-Z0-9_:"	substrest	recolor=-1
	"{"		substbrack	recolor=-1

:substrest Subst string
	*		string		noeat
	"a-zA-Z0-9_:"	substrest
	"("		index

:substbrack Subst string
	*		substbrack
	"}"		string

:index Subst string
	*		index
	")"		string

:ident Ident
	*			ident
	" \t\n;}]"		args	noeat strings
	"after"			kw
	"alarm"			kw
	"append"		kw
	"array"			kw
	"auto_commands"		kw
	"auto_execok"		kw
	"auto_import"		kw
	"auto_load"		kw
	"auto_load_index"	kw
	"auto_load_pkg"		kw
	"auto_packages"		kw
	"auto_qualify"		kw
	"binary"		kw
	"break"			loop
	"bsearch"		kw
	"case"			kw
	"catch"			kw
	"catclose"		kw
	"catgets"		kw
	"catopen"		kw
	"ccollate"		kw
	"cconcat"		kw
	"cd"			kw
	"cequal"		kw
	"chgrp"			kw
	"chmod"			kw
	"chown"			kw
	"chroot"		kw
	"cindex"		kw
	"clength"		kw
	"clock"			kw
	"close"			kw
	"cmdtrace"		kw
	"commandloop"		kw
	"concat"		kw
	"continue"		loop
	"crange"		kw
	"csubstr"		kw
	"ctoken"		kw
	"ctype"			kw
	"dup"			kw
	"echo"			kw
	"else"			cond
	"elseif"		cond
	"encoding"		kw
	"eof"			kw
	"error"			kw
	"eval"			kw
	"exec"			kw
	"execl"			kw
	"exit"			kw
	"expr"			kw
	"fblocked"		kw
	"fcntl"			kw
	"fconfigure"		kw
	"fcopy"			kw
	"file"			kw
	"fileevent"		kw
	"flock"			kw
	"flush"			kw
	"for"			loop
	"foreach"		loop
	"fork"			kw
	"format"		kw
	"fstat"			kw
	"ftruncate"		kw
	"funlock"		kw
	"gets"			kw
	"glob"			kw
	"global"		kw
	"history"		kw
	"host_info"		kw
	"id"			kw
	"if"			cond
	"incr"			kw
	"info"			kw
	"infox"			kw
	"interp"		kw
	"join"			kw
	"keyldel"		kw
	"keylget"		kw
	"keylkeys"		kw
	"keylset"		kw
	"kill"			kw
	"lappend"		kw
	"lassign"		kw
	"lcontain"		kw
	"lempty"		kw
	"lgets"			kw
	"lindex"		kw
	"link"			kw
	"linsert"		kw
	"list"			kw
	"llength"		kw
	"lmatch"		kw
	"load"			kw
	"loadlibindex"		kw
	"loop"			kw
	"lrange"		kw
	"lreplace"		kw
	"lsearch"		kw
	"lset"			kw
	"lsort"			kw
	"lvarcat"		kw
	"lvarpop"		kw
	"lvarpush"		kw
	"max"			kw
	"min"			kw
	"namespace"		kw
	"nice"			kw
	"open"			kw
	"package"		kw
	"pid"			kw
	"pipe"			kw
	"proc"			kw
	"profile"		kw
	"puts"			kw
	"pwd"			kw
	"random"		kw
	"read"			kw
	"readdir"		kw
	"regexp"		kw
	"regsub"		kw
	"rename"		kw
	"replicate"		kw
	"return"		kw
	"scan"			kw
	"scancontext"		kw
	"scanfile"		kw
	"scanmatch"		kw
	"seek"			kw
	"select"		kw
	"server_accept"		kw
	"server_create"		kw
	"set"			kw
	"signal"		kw
	"sleep"			kw
	"socket"		kw
	"source"		kw
	"split"			kw
	"string"		kw
	"subst"			kw
	"switch"		cond
	"sync"			kw
	"system"		kw
	"tclLog"		kw
	"tclx_findinit"		kw
	"tclx_fork"		kw
	"tclx_load_tndxs"	kw
	"tclx_sleep"		kw
	"tclx_system"		kw
	"tclx_wait"		kw
	"tell"			kw
	"then"			cond
	"time"			kw
	"times"			kw
	"trace"			kw
	"translit"		kw
	"try_eval"		kw
	"umask"			kw
	"unknown"		kw
	"unset"			kw
	"update"		kw
	"uplevel"		kw
	"upvar"			kw
	"variable"		kw
	"vwait"			kw
	"wait"			kw
	"while"			loop
done

:kw Keyword
	*	args	noeat

:cond Conditional
	*	args	noeat

:loop Loop
	*	args	noeat
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.