diff options
Diffstat (limited to 'runtime/syntax/tcl.vim')
-rw-r--r-- | runtime/syntax/tcl.vim | 79 |
1 files changed, 42 insertions, 37 deletions
diff --git a/runtime/syntax/tcl.vim b/runtime/syntax/tcl.vim index d15422daa..3c598267d 100644 --- a/runtime/syntax/tcl.vim +++ b/runtime/syntax/tcl.vim @@ -6,11 +6,9 @@ " (previously Matt Neumann <mattneu@purpleturtle.com>) " (previously Allan Kelly <allan@fruitloaf.co.uk>) " Original: Robin Becker <robin@jessikat.demon.co.uk> -" Last Change: 2009/04/06 02:38:36 -" Version: 1.13 -" URL: http://real.metasyntax.net:2357/cvs/cvsweb.cgi/Config/vim/syntax/tcl.vim -" -" Keywords TODO: click anchor +" Last Change: 2014-02-12 +" Version: 1.14 +" URL: http://bitbucket.org/taylor_venable/metasyntax/src/tip/Config/vim/syntax/tcl.vim " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -20,41 +18,39 @@ elseif exists("b:current_syntax") finish endif -" Basic Tcl commands: http://www.tcl.tk/man/tcl8.5/TclCmd/contents.htm -syn keyword tclCommand after append apply array bgerror binary catch cd chan clock -syn keyword tclCommand close concat dde dict encoding eof error eval exec exit -syn keyword tclCommand expr fblocked fconfigure fcopy file fileevent filename flush -syn keyword tclCommand format gets glob global history incr info interp join -syn keyword tclCommand lappend lassign lindex linsert list llength load lrange lrepeat -syn keyword tclCommand lreplace lreverse lsearch lset lsort memory namespace open package -syn keyword tclCommand pid proc puts pwd read regexp registry regsub rename return -syn keyword tclCommand scan seek set socket source split string subst tell time -syn keyword tclCommand trace unknown unload unset update uplevel upvar variable vwait - -" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.5/TclCmd/library.htm -syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_mkindex_old -syn keyword tclCommand auto_qualify auto_reset parray tcl_endOfWord tcl_findLibrary -syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter -syn keyword tclCommand tcl_wordBreakBefore - -" Commands that were added in Tcl 8.6 - -syn keyword tclCommand my oo::copy oo::define oo::objdefine self -syn keyword tclCommand coroutine tailcall throw yield - -" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm -syn keyword tclVars env errorCode errorInfo tcl_library tcl_patchLevel tcl_pkgPath -syn keyword tclVars tcl_platform tcl_precision tcl_rcFileName tcl_traceCompile -syn keyword tclVars tcl_traceExec tcl_wordchars tcl_nonwordchars tcl_version argc argv -syn keyword tclVars argv0 tcl_interactive geometry +" Basic Tcl commands: http://www.tcl.tk/man/tcl8.6/TclCmd/contents.htm +syn keyword tclCommand after append array bgerror binary cd chan clock close concat +syn keyword tclCommand dde dict encoding eof error eval exec exit expr fblocked +syn keyword tclCommand fconfigure fcopy file fileevent flush format gets glob +syn keyword tclCommand global history http incr info interp join lappend lassign +syn keyword tclCommand lindex linsert list llength lmap load lrange lrepeat +syn keyword tclCommand lreplace lreverse lsearch lset lsort memory my namespace +syn keyword tclCommand next nextto open package pid puts pwd read refchan regexp +syn keyword tclCommand registry regsub rename scan seek self set socket source +syn keyword tclCommand split string subst tell time trace unknown unload unset +syn keyword tclCommand update uplevel upvar variable vwait + +" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.6/TclCmd/library.htm +syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_reset +syn keyword tclCommand auto_qualify tcl_findLibrary parray tcl_endOfWord +syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord +syn keyword tclCommand tcl_wordBreakAfter tcl_wordBreakBefore + +" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.6/TclCmd/tclvars.htm +syn keyword tclVars auto_path env errorCode errorInfo tcl_library tcl_patchLevel +syn keyword tclVars tcl_pkgPath tcl_platform tcl_precision tcl_rcFileName +syn keyword tclVars tcl_traceCompile tcl_traceExec tcl_wordchars +syn keyword tclVars tcl_nonwordchars tcl_version argc argv argv0 tcl_interactive " Strings which expr accepts as boolean values, aside from zero / non-zero. syn keyword tclBoolean true false on off yes no -syn keyword tclLabel case default +syn keyword tclProcCommand apply coroutine proc return tailcall yield yieldto syn keyword tclConditional if then else elseif switch -syn keyword tclConditional try finally +syn keyword tclConditional catch try throw finally +syn keyword tclLabel default syn keyword tclRepeat while for foreach break continue + syn keyword tcltkSwitch contained insert create polygon fill outline tag " WIDGETS @@ -91,6 +87,11 @@ syn match tclVarRef "$\(\(::\)\?\([[:alnum:]_]*::\)*\)\a[[:alnum:]_]*" " ${...} may contain any character except '}' syn match tclVarRef "${[^}]*}" +" Used to facilitate hack to utilize string background for certain color +" schemes, e.g. inkpot and lettuce. +syn cluster tclVarRefC add=tclVarRef +syn cluster tclSpecialC add=tclSpecial + " The syntactic unquote-splicing replacement for [expand]. syn match tclExpand '\s{\*}' syn match tclExpand '^{\*}' @@ -203,9 +204,9 @@ syn match tclSpecial contained '\\[\[\]\{\}\"\$]' syn region tclEmbeddedStatement start='\[' end='\]' contained contains=tclCommand,tclNumber,tclLineContinue,tclString,tclVarRef,tclEmbeddedStatement " A string needs the skip argument as it may legitimately contain \". " Match at start of line -syn region tclString start=+^"+ end=+"+ contains=tclSpecial skip=+\\\\\|\\"+ +syn region tclString start=+^"+ end=+"+ contains=@tclSpecialC skip=+\\\\\|\\"+ "Match all other legal strings. -syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=tclSpecial,tclVarRef,tclEmbeddedStatement skip=+\\\\\|\\"+ +syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=@tclSpecialC,@tclVarRefC,tclEmbeddedStatement skip=+\\\\\|\\"+ " Line continuation is backslash immediately followed by newline. syn match tclLineContinue '\\$' @@ -231,6 +232,9 @@ syn case match syn region tclComment start="^\s*\#" skip="\\$" end="$" contains=tclTodo syn region tclComment start=/;\s*\#/hs=s+1 skip="\\$" end="$" contains=tclTodo +"syn match tclComment /^\s*\#.*$/ +"syn match tclComment /;\s*\#.*$/hs=s+1 + "syn sync ccomment tclComment " Define the default highlighting. @@ -252,6 +256,7 @@ if version >= 508 || !exists("did_tcl_syntax_inits") HiLink tclNumber Number HiLink tclError Error HiLink tclCommand Statement + HiLink tclProcCommand Type HiLink tclString String HiLink tclComment Comment HiLink tclSpecial Special @@ -279,4 +284,4 @@ endif let b:current_syntax = "tcl" -" vim: ts=8 noet +" vim: ts=8 noet nolist |