diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index d60501e..e4b2b5b 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -375,6 +375,10 @@
 perlhtml: tags $(DOCS)
 	./vim2html.pl tags $(DOCS)
 
+# Check URLs in the help with "curl".
+test_urls:
+	vim -S test_urls.vim
+
 clean:
 	-rm doctags *.html tags.ref
 
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 884f2e8..29b3de8 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.0.  Last change: 2017 Nov 19
+*eval.txt*	For Vim version 8.0.  Last change: 2017 Nov 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4662,11 +4662,11 @@
 		following string items are supported in {what}:
 			context	get the context stored with |setqflist()|
 			efm	errorformat to use when parsing "lines". If
-				not present, then the 'erroformat' option
+				not present, then the 'errorformat' option
 				value is used.
 			id	get information for the quickfix list with
 				|quickfix-ID|; zero means the id for the
-				current list or the list specifed by "nr"
+				current list or the list specified by "nr"
 			idx	index of the current entry in the list
 			items	quickfix list entries
 			lines	use 'errorformat' to extract items from a list
@@ -7695,8 +7695,9 @@
 		When substitute() is used recursively only the submatches in
 		the current (deepest) call can be obtained.
 
-		Example: >
+		Examples: >
 			:s/\d\+/\=submatch(0) + 1/
+			:echo substitute(text, '\d\+', '\=submatch(0) + 1', '')
 <		This finds the first number in the line and adds one to it.
 		A line break is included as a newline character.
 
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index 62639fe..b69d298 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 8.0.  Last change: 2017 Jun 14
+*if_cscop.txt*  For Vim version 8.0.  Last change: 2017 Nov 23
 
 
 		  VIM REFERENCE MANUAL    by Andy Kahn
@@ -468,36 +468,18 @@
 	http://cscope.sourceforge.net/
 This is released by SCO under the BSD license.
 
-If you want a newer version of cscope, you will probably have to buy it.
-According to the (old) nvi documentation:
-
-	You can buy version 13.3 source with an unrestricted license
-	for $400 from AT&T Software Solutions by calling +1-800-462-8146.
-
-Also you can download cscope 13.x and mlcscope 14.x (multi-lingual cscope
-which supports C, C++, Java, lex, yacc, breakpoint listing, Ingres, and SDL)
-from World-Wide Exptools Open Source packages page:
-	http://www.bell-labs.com/project/wwexptools/packages.html
-
 In Solaris 2.x, if you have the C compiler license, you will also have
 cscope.  Both are usually located under /opt/SUNWspro/bin
 
-SGI developers can also get it.  Search for Cscope on this page:
-	http://freeware.sgi.com/index-by-alpha.html
-	https://toolbox.sgi.com/toolbox/utilities/cscope/
-The second one is for those who have a password for the SGI toolbox.
-
 There is source to an older version of a cscope clone (called "cs") available
 on the net.  Due to various reasons, this is not supported with Vim.
 
 The cscope interface/support for Vim was originally written by
 Andy Kahn <ackahn@netapp.com>.  The original structure (as well as a tiny
-bit of code) was adapted from the cscope interface in nvi.  Please report
-any problems, suggestions, patches, et al., you have for the usage of
-cscope within Vim to him.
+bit of code) was adapted from the cscope interface in nvi.
 							*cscope-win32*
-For a cscope version for Win32 see:
-	http://code.google.com/p/cscope-win32/
+For a cscope version for Win32 see (seems abandonded):
+	https://code.google.com/archive/p/cscope-win32/
 
 Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>.  Contact
 him if you have Win32-specific issues.
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index d69c22f..11b1440 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 8.0.  Last change: 2015 Oct 16
+*if_perl.txt*   For Vim version 8.0.  Last change: 2017 Nov 24
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
@@ -112,7 +112,7 @@
 Here is an overview of the functions that are available to Perl: >
 
   :perl VIM::Msg("Text")		# displays a message
-  :perl VIM::Msg("Error", "ErrorMsg")	# displays an error message
+  :perl VIM::Msg("Wrong!", "ErrorMsg")	# displays an error message
   :perl VIM::Msg("remark", "Comment")	# displays a highlighted message
   :perl VIM::SetOption("ai")		# sets a vim option
   :perl $nbuf = VIM::Buffers()		# returns the number of buffers
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 2c4e2d0..640c8e9 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.0.  Last change: 2017 May 30
+*insert.txt*    For Vim version 8.0.  Last change: 2017 Nov 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1296,7 +1296,8 @@
 For version 5.5.4 you should add a patch that adds the "typename:" field:
 	ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
 A compiled .exe for MS-Windows can be found at:
-	http://georgevreilly.com/vim/ctags.html
+	http://ctags.sourceforge.net/
+	https://github.com/universal-ctags/ctags-win32
 
 If you want to complete system functions you can do something like this.  Use
 ctags to generate a tags file for all the system header files: >
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 8a25d83..c8cd0eb 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 8.0.  Last change: 2016 Jul 21
+*mbyte.txt*     For Vim version 8.0.  Last change: 2017 Nov 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -1257,8 +1257,8 @@
 ==============================================================================
 10.  Input with imactivatefunc()				*mbyte-func*
 
-Vim has |imactivatefunc()| and |imstatusfunc()|. This is useful to
-activate/deativate input method from Vim in any way, also with an external
+Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
+activate/deativate the input method from Vim in any way, also with an external
 command. For example, fcitx provide fcitx-remote command: >
 
 	set iminsert=2
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c4ceb5f..5df5f30 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2017 Nov 18
+*options.txt*	For Vim version 8.0.  Last change: 2017 Nov 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4464,8 +4464,8 @@
 	match may not be found.  This is to avoid that Vim hangs while you
 	are typing the pattern.
 	The highlighting can be set with the 'i' flag in 'highlight'.
-	When 'hlsearch' is on, all matched strings are highlighted too while typing
-	a search command. See also: 'hlsearch'.
+	When 'hlsearch' is on, all matched strings are highlighted too while
+	typing a search command. See also: 'hlsearch'.
 	If you don't want turn 'hlsearch' on, but want to highlight all matches
 	while searching, you can turn on and off 'hlsearch' with autocmd.
 	Example: >
@@ -8255,7 +8255,7 @@
 	number, more intelligent detection process runs.
 	The "xterm2" value will be set if the xterm version is reported to be
 	from 95 to 276.  The "sgr" value will be set if the xterm version is
-	277 or highter and when Vim detects Mac Terminal.app or Iterm2.
+	277 or higher and when Vim detects Mac Terminal.app or iTerm2.
 	If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
 	automatically, set t_RV to an empty string: >
 		:set t_RV=
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 253a55f..c8d14e3 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7346,6 +7346,7 @@
 mbyte-first	mbyte.txt	/*mbyte-first*
 mbyte-fonts-MSwin	mbyte.txt	/*mbyte-fonts-MSwin*
 mbyte-fonts-X11	mbyte.txt	/*mbyte-fonts-X11*
+mbyte-func	mbyte.txt	/*mbyte-func*
 mbyte-keymap	mbyte.txt	/*mbyte-keymap*
 mbyte-locale	mbyte.txt	/*mbyte-locale*
 mbyte-options	mbyte.txt	/*mbyte-options*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index dbd138f..f8c224e 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2017 Nov 21
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Nov 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,6 +35,13 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Motif testgui:
+From test_options.vim:
+Found errors in Test_set_values():
+Caught exception in Test_set_values(): Vim(set):E596: Invalid font(s): guifont=fixedsys @ /home/mool/vim/vim80/src/testdir/opt_test.vim, line 1153
+
+WinBar: balloon shows up for next line
+
 No maintainer for Vietnamese translations.
 No maintainer for Simplified Chinese translations.
 
@@ -150,8 +157,17 @@
 - signed integer overflow in nfa_regatom() (#2251)
 - undefined left shift in get_string_tv() (#2250)
 
-Patch to use imactivatefunc() also without +xim feature. (Yasuhiro Matsumoto,
-2017 Nov 19, #2349)
+patch for: fix SHIFT-Insert on Windows command prompt (Yasuhiro Matsumoto,
+#2381)
+
+Patch for profile log truncating halfway a character. (ichizok, 2017 Nov 28,
+#2385)
+
+WinBar: Maximizing window causes window size to be wrong. (Lifepillar, 2017
+Nov 29, #2356)
+
+CTRL-A does not work with empty line. (Alex, #2387)
+Patch by Hirohito Higashi, 2017 Nov 29.
 
 'hlsearch' shows empty matches, which means highlighting everything.
 Don't do that.  For "foo\|" or "\v"
@@ -171,12 +187,6 @@
 Using 'wildignore' also applies to literally entered file name.  Also with
 :drop (remote commands).
 
-Race condition between stat() and open() in write_viminfo(). Use open() in the
-loop and try another name instead of using a temp file. (Simon Ruderich)
-The first one, when viminfo is new, should just fail if it creating with
-O_EXCL fails.
-Also use umask instead of mch_fopen() after vim_tempname().
-
 "gvim --remote" from a directory with non-word characters changes the current
 directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
 Also see #1689.
@@ -184,6 +194,9 @@
 ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
 Lemonboy can reproduce (2017 Jun 5)
 
+Patch to fix E806. (Dominique, 2017 Nov 22, #2368)
+Kazunobu Kuriyama: caused by XtSetLanguageProc().
+
 Invalid range error when using BufWinLeave for closing terminal.
 (Gabriel Barta, 2017 Nov 15, #2339)
 
@@ -208,7 +221,7 @@
 
 Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
 May 24)  Update May 26.
-Now in patch by Lemonboy, #2333  (who is Lemonboy?)
+Now in patch by Lemonboy, #2333
 
 Default install on MS-Windows should source defaults.vim.
 Ask whether to use Windows or Vim key behavior?
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index f64e87f..c8df5cd 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.0.  Last change: 2017 Apr 23
+*version8.txt*  For Vim version 8.0.  Last change: 2017 Nov 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -15582,7 +15582,7 @@
 
 Patch 8.0.0181
 Problem:    When 'cursorbind' and 'cursorcolumn' are both on, the column
-            highlignt in non-current windows is wrong.
+            highlight in non-current windows is wrong.
 Solution:   Add validate_cursor(). (Masanori Misono, closes #1372)
 Files:      src/move.c
 
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index ed1ef27..67ea876 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2017 Nov 21
+" Last Change:	2017 Nov 23
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -1878,8 +1878,8 @@
 " Yacc or racc
 au BufNewFile,BufRead *.y			call dist#ft#FTy()
 
-" Yaml
-au BufNewFile,BufRead *.yaml,*.yml		setf yaml
+" Yaml or Raml
+au BufNewFile,BufRead *.yaml,*.yml,*.raml	setf yaml
 
 " yum conf (close enough to dosini)
 au BufNewFile,BufRead */etc/yum.conf		setf dosini
diff --git a/runtime/ftplugin/zsh.vim b/runtime/ftplugin/zsh.vim
index c03a946..fe8efc5 100644
--- a/runtime/ftplugin/zsh.vim
+++ b/runtime/ftplugin/zsh.vim
@@ -2,7 +2,7 @@
 " Language:             Zsh shell script
 " Maintainer:           Christian Brabandt <cb@256bit.org>
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2015-05-29
+" Latest Revision:      2017-11-22
 " License:              Vim (see :h license)
 " Repository:           https://github.com/chrisbra/vim-zsh
 
@@ -18,9 +18,7 @@
 
 setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
 
-let b:match_words =
-      \   &matchpairs
-      \ . ',\<if\>:\<elif\>:\<else\>:\<fi\>'
+let b:match_words = ',\<if\>:\<elif\>:\<else\>:\<fi\>'
       \ . ',\<case\>:^\s*([^)]*):\<esac\>'
       \ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
 let b:match_skip = 's:comment\|string\|heredoc\|subst'
diff --git a/runtime/syntax/cf.vim b/runtime/syntax/cf.vim
index 6310bc3..04f9f59 100644
--- a/runtime/syntax/cf.vim
+++ b/runtime/syntax/cf.vim
@@ -1,437 +1,1018 @@
 " Vim syntax file
-" Language:	CFML
-" Maintainer:	Toby Woodwark (toby.woodwark+vim@gmail.com)
-" Last Change:	2010-03-02
-" Filenames:	*.cfc *.cfm
-" Version:	Adobe ColdFusion 9
-" Usage:	This file contains both syntax definitions
-" 		and a list of known builtin tags, functions and keywords.
-" 		Refs - 
-" http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WS8f0cc78011fffa71866534d11cdad96e4e-8000.html
-" http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17324-8000.html
-" TODO: 
-" 		Support the limited array literal and struct literal syntax in CF8+.
-" 		Highlight namespaced tags fom cfimport.
-" 		Complete CF9+ cfscript support.
-" 		Railo support.
-" Options:
-"	d_noinclude_html - set to prevent HTML highlighting.	Use this if you are not working on HTML.
+"
+" Language:     CFML (ColdFusion)
+" Author:       Ernst M. van der Linden <ernst.vanderlinden@ernestoz.com>
+" License:      The MIT License (MIT)
+"
+" Maintainer:   Ernst M. van der Linden <ernst.vanderlinden@ernestoz.com>
+" URL:          https://github.com/ernstvanderlinden/vim-coldfusion
+" Last Change:  2017 Nov 28
+"
+" Filenames:    *.cfc *.cfm
 
-" Quit if a syntax file is already loaded.
+" Quit when a syntax file was already loaded.
 if exists("b:current_syntax")
   finish
 endif
 
-if exists("d_noinclude_html")
-  " Define alternatives to the HTML syntax file.
+" Using line continuation here.
+let s:cpo_save=&cpo
+set cpo-=C
 
-  " Copied from html.vim - the rules for matching a CF tag match	those for HTML/SGML.
-  " CFML syntax is more permissive when it comes to superfluous <> chars.
-  syn region	htmlString	contained start=+"+ end=+"+ contains=@htmlPreproc
-  syn region	htmlString	contained start=+'+ end=+'+ contains=@htmlPreproc
-  syn match	htmlValue	contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1	contains=@htmlPreproc
-  " Hacked htmlTag so that it only matches cf tags and not random <> chars.
-  syn region	htmlEndTag	start=+</cf+	end=+>+ contains=htmlTagN,htmlTagError
-  syn region	htmlTag		start=+<\s*cf[^/]+	end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,@htmlPreproc,@htmlArgCluster
-  syn match	htmlTagN	contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,@htmlTagNameCluster
-  syn match	htmlTagN	contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,@htmlTagNameCluster
-  syn match	htmlTagError	contained "[^>]<"ms=s+1
-else
-  " Use all the stuff from the HTML syntax file.
-  " This means eg HTML comments are highlighted as comments, even if they include cf tags.
-  runtime! syntax/html.vim
-endif
+sy sync fromstart
+" 20171126: disabled as we have fast computers now.
+"sy sync maxlines=2000
+sy case ignore
 
-syn sync	fromstart
-syn sync	maxlines=200
-syn case	ignore
+" INCLUDES {{{
+sy include @sqlSyntax $VIMRUNTIME/syntax/sql.vim
+" 20161010: Disabled include html highlighting as it contains huge keywords
+" regex, so it will have impact on performance.  Use own simple SGML tag
+" coloring instead.
+"runtime! syntax/html.vim
+" / INCLUDES }}}
 
-" Scopes and keywords.
-syn keyword	cfScope		contained cgi cffile cookie request caller this thistag
-syn keyword	cfScope		contained cfcatch variables application server session client form url local
-syn keyword	cfScope		contained arguments super cfhttp attributes error
-syn keyword	cfBool		contained yes no true false
+" NUMBER {{{
+sy match cfmlNumber
+    \ "\v<\d+>"
+" / NUMBER }}}
 
-" Operator strings.
-" ColdFusion <=7:
-syn keyword	cfOperator		contained xor eqv and or lt le lte gt ge gte equal eq neq not is mod contains
-syn match	cfOperatorMatch		contained "+" 
-syn match	cfOperatorMatch		contained "\-"
-syn match	cfOperatorMatch		contained "[\*\/\\\^\&][\+\-\*\/\\\^\&]\@!"
-syn match	cfOperatorMatch		contained "\<\(not\_s\+\)\?equal\>"
-syn match	cfOperatorMatch		contained "\<does\_s\+not\_s\+contain\>"
-syn match	cfOperatorMatch		contained "\<\(greater\|less\)\_s\+than\(\_s\+or\_s\+equal\_s\+to\)\?\>"
-" ColdFusion 8:
-syn keyword	cfOperator		contained imp
-syn match	cfOperatorMatch		contained "[?%:!]"
-syn match	cfOperatorMatch		contained "[\+\-\*\/\&]=" 
-syn match	cfOperatorMatch		contained "++"
-syn match	cfOperatorMatch		contained "--"
-syn match	cfOperatorMatch	 	contained "&&"
-syn match	cfOperatorMatch	 	contained "||"
+" EQUAL SIGN {{{
+sy match cfmlEqualSign
+    \ "\v\="
+" / EQUAL SIGN }}}
 
-syn cluster	cfOperatorCluster	contains=cfOperator,cfOperatorMatch
+" BOOLEAN {{{
+sy match cfmlBoolean
+    \ "\v<(true|false)>"
+" / BOOLEAN }}}
 
-" Custom tags called with the <cf_xxx> syntax.
-syn match	cfCustomTagName		contained "\<cf_[a-zA-Z0-9_]\+\>"
-" (TODO match	namespaced tags imported using cfimport, similarly.)
+" HASH SURROUNDED {{{
+sy region cfmlHashSurround
+  \ keepend
+  \ oneline
+  \ start="#"
+  \ end="#"
+  \ skip="##"
+    \ contains=
+      \@cfmlOperator,
+      \@cfmlPunctuation,
+      \cfmlBoolean,
+      \cfmlCoreKeyword,
+      \cfmlCoreScope,
+      \cfmlCustomKeyword,
+      \cfmlCustomScope,
+      \cfmlEqualSign,
+      \cfmlFunctionName,
+      \cfmlNumber
+" / HASH SURROUNDED }}}
 
-" Tag names.
-" ColdFusion <=7:
-syn keyword	cfTagName	contained cfabort cfapplet cfapplication cfargument cfassociate
-syn keyword	cfTagName	contained cfbreak cfcache cfcalendar cfcase cfcatch
-syn keyword	cfTagName	contained cfchart cfchartdata cfchartseries cfcol cfcollection
-syn keyword	cfTagName	contained cfcomponent cfcontent cfcookie cfdefaultcase cfdirectory
-syn keyword	cfTagName	contained cfdocument cfdocumentitem cfdocumentsection cfdump cfelse
-syn keyword	cfTagName	contained cfelseif cferror cfexecute cfexit cffile cfflush cfform
-syn keyword	cfTagName	contained cfformgroup cfformitem cfftp cffunction
-syn keyword	cfTagName	contained cfgrid cfgridcolumn cfgridrow cfgridupdate cfheader
-syn keyword	cfTagName	contained cfhtmlhead cfhttp cfhttpparam cfif cfimport
-syn keyword	cfTagName	contained cfinclude cfindex cfinput cfinsert cfinvoke cfinvokeargument
-syn keyword	cfTagName	contained cfldap cflocation cflock cflog cflogin cfloginuser cflogout
-syn keyword	cfTagName	contained cfloop cfmail cfmailparam cfmailpart cfmodule
-syn keyword	cfTagName	contained cfNTauthenticate cfobject cfobjectcache cfoutput cfparam
-syn keyword	cfTagName	contained cfpop cfprocessingdirective cfprocparam cfprocresult
-syn keyword	cfTagName	contained cfproperty cfquery cfqueryparam cfregistry cfreport
-syn keyword	cfTagName	contained cfreportparam cfrethrow cfreturn cfsavecontent cfschedule
-syn keyword	cfTagName	contained cfscript cfsearch cfselect cfservletparam cfset
-syn keyword	cfTagName	contained cfsetting cfsilent cfslider cfstoredproc cfswitch cftable
-syn keyword	cfTagName	contained cftextarea cftextinput cfthrow cftimer cftrace cftransaction
-syn keyword	cfTagName	contained cftree cftreeitem cftry cfupdate cfwddx cfxml
-" ColdFusion 8:
-syn keyword	cfTagName	contained cfajaximport cfajaxproxy cfdbinfo cfdiv cfexchangecalendar
-syn keyword	cfTagName	contained cfexchangeconnection cfexchangecontact cfexchangefilter 
-syn keyword	cfTagName	contained cfexchangemail cfexchangetask cffeed
-syn keyword	cfTagName	contained cfinterface cflayout cflayoutarea cfmenu cfmenuitem
-syn keyword	cfTagName	contained cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod
-syn keyword	cfTagName	contained cfpresentation cfpresentationslide cfpresenter cfprint
-syn keyword	cfTagName	contained cfsprydataset cfthread cftooltip cfwindow cfzip cfzipparam
-" ColdFusion 9:
-syn keyword	cfTagName	contained cfcontinue cffileupload cffinally
-syn keyword	cfTagName	contained cfimage cfimap 
-syn keyword	cfTagName	contained cfmap cfmapitem cfmediaplayer cfmessagebox
-syn keyword	cfTagName	contained cfprocparam cfprogressbar
-syn keyword	cfTagName	contained cfsharepoint cfspreadsheet
+" OPERATOR {{{
 
-" Tag attributes.
-" XXX Not updated for ColdFusion 8/9.
-" These are becoming a headache to maintain, so might be removed.
-syn keyword	cfArg		contained abort accept access accessible action addnewline addtoken
-syn keyword	cfArg		contained agentname align appendkey appletsource application
-syn keyword	cfArg		contained applicationtimeout applicationtoken archive
-syn keyword	cfArg		contained argumentcollection arguments asciiextensionlist
-syn keyword	cfArg		contained attachmentpath attributecollection attributes autowidth
-syn keyword	cfArg		contained backgroundvisible basetag bcc bgcolor bind bindingname
-syn keyword	cfArg		contained blockfactor body bold border branch cachedafter cachedwithin
-syn keyword	cfArg		contained casesensitive category categorytree cc cfsqltype charset
-syn keyword	cfArg		contained chartheight chartwidth checked class clientmanagement
-syn keyword	cfArg		contained clientstorage codebase colheaderalign colheaderbold
-syn keyword	cfArg		contained colheaderfont colheaderfontsize colheaderitalic colheaders
-syn keyword	cfArg		contained colheadertextcolor collection colorlist colspacing columns
-syn keyword	cfArg		contained completepath component condition connection contentid
-syn keyword	cfArg		contained context contextbytes contexthighlightbegin
-syn keyword	cfArg		contained contexthighlightend contextpassages cookiedomain criteria
-syn keyword	cfArg		contained custom1 custom2 custom3 custom4 data dataalign
-syn keyword	cfArg		contained databackgroundcolor datacollection datasource daynames
-syn keyword	cfArg		contained dbname dbserver dbtype dbvarname debug default delete
-syn keyword	cfArg		contained deletebutton deletefile delimiter delimiters description
-syn keyword	cfArg		contained destination detail directory disabled display displayname
-syn keyword	cfArg		contained disposition dn domain editable enablecab enablecfoutputonly
-syn keyword	cfArg		contained enabled encoded encryption enctype enddate endrange endtime
-syn keyword	cfArg		contained entry errorcode exception existing expand expires expireurl
-syn keyword	cfArg		contained expression extendedinfo extends extensions external
-syn keyword	cfArg		contained failifexists failto file filefield filename filter
-syn keyword	cfArg		contained firstdayofweek firstrowasheaders fixnewline font fontbold
-syn keyword	cfArg		contained fontembed fontitalic fontsize foregroundcolor format
-syn keyword	cfArg		contained formfields formula from generateuniquefilenames getasbinary
-syn keyword	cfArg		contained grid griddataalign gridlines groovecolor group
-syn keyword	cfArg		contained groupcasesensitive header headeralign headerbold headerfont
-syn keyword	cfArg		contained headerfontsize headeritalic headerlines headertextcolor
-syn keyword	cfArg		contained height highlighthref hint href hrefkey hscroll hspace html
-syn keyword	cfArg		contained htmltable id idletimeout img imgopen imgstyle index inline
-syn keyword	cfArg		contained input insert insertbutton interval isolation italic item
-syn keyword	cfArg		contained itemcolumn key keyonly label labelformat language list
-syn keyword	cfArg		contained listgroups locale localfile log loginstorage lookandfeel
-syn keyword	cfArg		contained mailerid mailto marginbottom marginleft marginright
-syn keyword	cfArg		contained margintop markersize markerstyle mask max maxlength maxrows
-syn keyword	cfArg		contained message messagenumber method mimeattach mimetype min mode
-syn keyword	cfArg		contained modifytype monthnames multipart multiple name nameconflict
-syn keyword	cfArg		contained namespace new newdirectory notsupported null numberformat
-syn keyword	cfArg		contained object omit onblur onchange onclick onerror onfocus
-syn keyword	cfArg		contained onkeydown onkeyup onload onmousedown onmouseup onreset
-syn keyword	cfArg		contained onsubmit onvalidate operation orderby orientation output
-syn keyword	cfArg		contained outputfile overwrite ownerpassword pageencoding pageheight
-syn keyword	cfArg		contained pagetype pagewidth paintstyle param_1 param_2 param_3
-syn keyword	cfArg		contained param_4 param_5 param_6 param_7 param_8 param_9 parent
-syn keyword	cfArg		contained parrent passive passthrough password path pattern
-syn keyword	cfArg		contained permissions picturebar pieslicestyle port porttypename
-syn keyword	cfArg		contained prefix preloader preservedata previouscriteria procedure
-syn keyword	cfArg		contained protocol provider providerdsn proxybypass proxypassword
-syn keyword	cfArg		contained proxyport proxyserver proxyuser publish query queryasroot
-syn keyword	cfArg		contained queryposition range rebind recurse redirect referral
-syn keyword	cfArg		contained refreshlabel remotefile replyto report requesttimeout
-syn keyword	cfArg		contained required reset resoleurl resolveurl result resultset
-syn keyword	cfArg		contained retrycount returnasbinary returncode returntype
-syn keyword	cfArg		contained returnvariable roles rotated rowheaderalign rowheaderbold
-syn keyword	cfArg		contained rowheaderfont rowheaderfontsize rowheaderitalic rowheaders
-syn keyword	cfArg		contained rowheadertextcolor rowheaderwidth rowheight scale scalefrom
-syn keyword	cfArg		contained scaleto scope scriptprotect scriptsrc secure securitycontext
-syn keyword	cfArg		contained select selectcolor selected selecteddate selectedindex
-syn keyword	cfArg		contained selectmode separator seriescolor serieslabel seriesplacement
-syn keyword	cfArg		contained server serviceport serviceportname sessionmanagement
-syn keyword	cfArg		contained sessiontimeout setclientcookies setcookie setdomaincookies
-syn keyword	cfArg		contained show3d showborder showdebugoutput showerror showlegend
-syn keyword	cfArg		contained showmarkers showxgridlines showygridlines size skin sort
-syn keyword	cfArg		contained sortascendingbutton sortcontrol sortdescendingbutton
-syn keyword	cfArg		contained sortxaxis source spoolenable sql src srcfile start startdate
-syn keyword	cfArg		contained startrange startrow starttime status statuscode statustext
-syn keyword	cfArg		contained step stoponerror style subject suggestions
-syn keyword	cfArg		contained suppresswhitespace tablename tableowner tablequalifier
-syn keyword	cfArg		contained taglib target task template text textcolor textqualifier
-syn keyword	cfArg		contained throwonerror throwonerror throwonfailure throwontimeout
-syn keyword	cfArg		contained timeout timespan tipbgcolor tipstyle title to tooltip
-syn keyword	cfArg		contained toplevelvariable transfermode type uid unit url urlpath
-syn keyword	cfArg		contained useragent username userpassword usetimezoneinfo validate
-syn keyword	cfArg		contained validateat value valuecolumn values valuesdelimiter
-syn keyword	cfArg		contained valuesdisplay var variable vertical visible vscroll vspace
-syn keyword	cfArg		contained webservice width wmode wraptext wsdlfile xaxistitle
-syn keyword	cfArg		contained xaxistype xoffset yaxistitle yaxistype yoffset
+" OPERATOR - ARITHMETIC {{{
+" +7 -7
+" ++i --i
+" i++ i--
+" + - * / %
+" += -= *= /= %=
+" ^ mod
+sy match cfmlArithmeticOperator
+  \ "\v
+  \(\+|-)\ze\d
+  \|(\+\+|--)\ze\w
+  \|\w\zs(\+\+|--)
+  \|(\s(
+  \(\+|-|\*|\/|\%){1}\={,1}
+  \|\^
+  \|mod
+  \)\s)
+  \"
+" / OPERATOR - ARITHMETIC }}}
 
-" Functions.
-" ColdFusion <=7:
-syn keyword	cfFunctionName		contained ACos ASin Abs AddSOAPRequestHeader AddSOAPResponseHeader
-syn keyword	cfFunctionName		contained ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ArrayInsertAt
-syn keyword	cfFunctionName		contained ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArrayNew
-syn keyword	cfFunctionName		contained ArrayPrepend ArrayResize ArraySet ArraySort ArraySum
-syn keyword	cfFunctionName		contained ArraySwap ArrayToList Asc Atn AuthenticatedContext
-syn keyword	cfFunctionName		contained AuthenticatedUser BinaryDecode BinaryEncode BitAnd
-syn keyword	cfFunctionName		contained BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN
-syn keyword	cfFunctionName		contained BitSHRN BitXor CJustify Ceiling CharsetDecode CharsetEncode
-syn keyword	cfFunctionName		contained Chr Compare CompareNoCase Cos CreateDate CreateDateTime
-syn keyword	cfFunctionName		contained CreateODBCDate CreateODBCDateTime CreateODBCTime
-syn keyword	cfFunctionName		contained CreateObject CreateTime CreateTimeSpan CreateUUID DE DateAdd
-syn keyword	cfFunctionName		contained DateCompare DateConvert DateDiff DateFormat DatePart Day
-syn keyword	cfFunctionName		contained DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear
-syn keyword	cfFunctionName		contained DecimalFormat DecrementValue Decrypt DecryptBinary
-syn keyword	cfFunctionName		contained DeleteClientVariable DirectoryExists DollarFormat Duplicate
-syn keyword	cfFunctionName		contained Encrypt EncryptBinary Evaluate Exp ExpandPath FileExists
-syn keyword	cfFunctionName		contained Find FindNoCase FindOneOf FirstDayOfMonth Fix FormatBaseN
-syn keyword	cfFunctionName		contained GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList
-syn keyword	cfFunctionName		contained GetBaseTemplatePath GetClientVariablesList GetContextRoot
-syn keyword	cfFunctionName		contained GetCurrentTemplatePath GetDirectoryFromPath GetEncoding
-syn keyword	cfFunctionName		contained GetException GetFileFromPath GetFunctionList
-syn keyword	cfFunctionName		contained GetGatewayHelper GetHttpRequestData GetHttpTimeString
-syn keyword	cfFunctionName		contained GetLocalHostIP
-syn keyword	cfFunctionName		contained GetLocale GetLocaleDisplayName GetMetaData GetMetricData
-syn keyword	cfFunctionName		contained GetPageContext GetProfileSections GetProfileString
-syn keyword	cfFunctionName		contained GetSOAPRequest GetSOAPRequestHeader GetSOAPResponse
-syn keyword	cfFunctionName		contained GetSOAPResponseHeader GetTempDirectory GetTempFile
-syn keyword	cfFunctionName		contained GetTickCount GetTimeZoneInfo GetToken
-syn keyword	cfFunctionName		contained HTMLCodeFormat HTMLEditFormat Hash Hour IIf IncrementValue
-syn keyword	cfFunctionName		contained InputBaseN Insert Int IsArray IsAuthenticated IsAuthorized
-syn keyword	cfFunctionName		contained IsBinary IsBoolean IsCustomFunction IsDate IsDebugMode
-syn keyword	cfFunctionName		contained IsDefined
-syn keyword	cfFunctionName		contained IsLeapYear IsLocalHost IsNumeric
-syn keyword	cfFunctionName		contained IsNumericDate IsObject IsProtected IsQuery IsSOAPRequest
-syn keyword	cfFunctionName		contained IsSimpleValue IsStruct IsUserInRole IsValid IsWDDX IsXML
-syn keyword	cfFunctionName		contained IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot
-syn keyword	cfFunctionName		contained JSStringFormat JavaCast LCase LJustify LSCurrencyFormat
-syn keyword	cfFunctionName		contained LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate
-syn keyword	cfFunctionName		contained LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime
-syn keyword	cfFunctionName		contained LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Left
-syn keyword	cfFunctionName		contained Len ListAppend ListChangeDelims ListContains
-syn keyword	cfFunctionName		contained ListContainsNoCase ListDeleteAt ListFind ListFindNoCase
-syn keyword	cfFunctionName		contained ListFirst ListGetAt ListInsertAt ListLast ListLen
-syn keyword	cfFunctionName		contained ListPrepend ListQualify ListRest ListSetAt ListSort
-syn keyword	cfFunctionName		contained ListToArray ListValueCount ListValueCountNoCase Log Log10
-syn keyword	cfFunctionName		contained Max Mid Min Minute Month MonthAsString Now NumberFormat
-syn keyword	cfFunctionName		contained ParagraphFormat ParseDateTime Pi
-syn keyword	cfFunctionName		contained PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow
-syn keyword	cfFunctionName		contained QueryNew QuerySetCell QuotedValueList REFind REFindNoCase
-syn keyword	cfFunctionName		contained REReplace REReplaceNoCase RJustify RTrim Rand RandRange
-syn keyword	cfFunctionName		contained Randomize ReleaseComObject RemoveChars RepeatString Replace
-syn keyword	cfFunctionName		contained ReplaceList ReplaceNoCase Reverse Right Round Second
-syn keyword	cfFunctionName		contained SendGatewayMessage SetEncoding SetLocale SetProfileString
-syn keyword	cfFunctionName		contained SetVariable Sgn Sin SpanExcluding SpanIncluding Sqr StripCR
-syn keyword	cfFunctionName		contained StructAppend StructClear StructCopy StructCount StructDelete
-syn keyword	cfFunctionName		contained StructFind StructFindKey StructFindValue StructGet
-syn keyword	cfFunctionName		contained StructInsert StructIsEmpty StructKeyArray StructKeyExists
-syn keyword	cfFunctionName		contained StructKeyList StructNew StructSort StructUpdate Tan
-syn keyword	cfFunctionName		contained TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase
-syn keyword	cfFunctionName		contained URLDecode URLEncodedFormat URLSessionFormat Val ValueList
-syn keyword	cfFunctionName		contained Week Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat
-syn keyword	cfFunctionName		contained XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform
-syn keyword	cfFunctionName		contained XmlValidate Year YesNoFormat
-" ColdFusion 8:
-syn keyword	cfFunctionName		contained AjaxLink AjaxOnLoad ArrayIsDefined BinaryDecode BinaryEncode CharsetDecode CharsetEncode 
-syn keyword	cfFunctionName		contained DecryptBinary DeserializeJSON DotNetToCFType EncryptBinary FileClose FileCopy FileDelete
-syn keyword	cfFunctionName		contained FileIsEOF FileMove FileOpen FileRead FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute
-syn keyword	cfFunctionName		contained FileSetLastModified FileWrite GenerateSecretKey GetGatewayHelper GetAuthUser GetComponentMetaData
-syn keyword	cfFunctionName		contained GetContextRoot GetEncoding GetFileInfo GetLocaleDisplayName GetLocalHostIP GetMetaData
-syn keyword	cfFunctionName		contained GetPageContext GetPrinterInfo GetProfileSections GetReadableImageFormats GetSOAPRequest
-syn keyword	cfFunctionName		contained GetSOAPRequestHeader GetSOAPResponse GetSOAPResponseHeader GetUserRoles GetWriteableImageFormats
-syn keyword	cfFunctionName		contained ImageAddBorder ImageBlur ImageClearRect ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect
-syn keyword	cfFunctionName		contained ImageDrawCubicCurve ImageDrawPoint ImageDrawLine ImageDrawLines ImageDrawOval
-syn keyword	cfFunctionName		contained ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob
-syn keyword	cfFunctionName		contained ImageGetBufferedImage ImageGetEXIFMetadata ImageGetEXIFTag ImageGetHeight ImageGetIPTCMetadata
-syn keyword	cfFunctionName		contained ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay
-syn keyword	cfFunctionName		contained ImagePaste ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit 
-" ColdFusion 9:
-syn keyword	cfFunctionName		contained ApplicationStop ArrayContains ArrayDelete ArrayFind ArrayFindNoCase IsSpreadsheetFile
-syn keyword	cfFunctionName		contained IsSpreadsheetObject FileSkipBytes Location ObjectLoad SpreadsheetFormatColumn
-syn keyword	cfFunctionName		contained SpreadsheetFormatColumns SpreadsheetFormatRow SpreadsheetFormatRows SpreadsheetGetCellComment
-syn keyword	cfFunctionName		contained CacheGetAllIds CacheGetMetadata CacheGetProperties CacheGet CachePut ObjectSave ORMClearSession
-syn keyword	cfFunctionName		contained ORMCloseSession ORMEvictQueries ORMEvictCollection SpreadsheetGetCellFormula SpreadsheetGetCellValue
-syn keyword	cfFunctionName		contained SpreadsheetInfo SpreadsheetMergeCells SpreadsheetNew CacheRemove CacheSetProperties DirectoryCreate
-syn keyword	cfFunctionName		contained DirectoryDelete DirectoryExists ORMEvictEntity ORMEvictQueries ORMExecuteQuery ORMFlush
-syn keyword	cfFunctionName		contained ORMGetSession SpreadsheetRead SpreadsheetReadBinary SpreadsheetSetActiveSheetNumber
-syn keyword	cfFunctionName		contained SpreadsheetSetCellComment SpreadsheetSetCellFormula DirectoryList DirectoryRename EntityDelete
-syn keyword	cfFunctionName		contained EntityLoad EntityLoadByExample ORMGetSessionFactory ORMReload ObjectEquals SpreadsheetAddColumn
-syn keyword	cfFunctionName		contained SpreadsheetAddFreezePane SpreadsheetSetCellValue SpreadsheetSetActiveSheet SpreadsheetSetFooter
-syn keyword	cfFunctionName		contained SpreadsheetSetHeader SpreadsheetSetColumnWidth EntityLoadByPK EntityMerge EntityNew EntityReload
-syn keyword	cfFunctionName		contained EntitySave SpreadsheetAddImage SpreadsheetAddInfo SpreadsheetAddRow SpreadsheetAddRows
-syn keyword	cfFunctionName		contained SpreadsheetAddSplitPane SpreadsheetShiftColumns SpreadsheetShiftRows SpreadsheetSetRowHeight
-syn keyword	cfFunctionName		contained SpreadsheetWrite Trace FileDelete FileSeek FileWriteLine GetFunctionCalledName GetVFSMetaData IsIPv6
-syn keyword	cfFunctionName		contained IsNull SpreadsheetCreateSheet SpreadsheetDeleteColumn SpreadsheetDeleteColumns SpreadsheetDeleteRow
-syn keyword	cfFunctionName		contained SpreadsheetDeleteRows SpreadsheetFormatCell TransactionCommit TransactionRollback
-syn keyword	cfFunctionName		contained TransactionSetSavePoint ThreadTerminate ThreadJoin Throw Writedump Writelog 
+" OPERATOR - BOOLEAN {{{
+" not and or xor eqv imp
+" ! && ||
+sy match cfmlBooleanOperator
+  \ "\v\s
+  \(not|and|or|xor|eqv|imp
+  \|\!|\&\&|\|\|
+  \)(\s|\))
+  \|\s\!\ze\w
+  \"
+" / OPERATOR - BOOLEAN }}}
 
-" Deprecated or obsoleted tags and functions.
-syn keyword	cfDeprecatedTag		contained cfauthenticate cfimpersonate cfgraph cfgraphdata
-syn keyword	cfDeprecatedTag		contained cfservlet cfservletparam cftextinput
-syn keyword	cfDeprecatedTag		contained cfinternaladminsecurity cfnewinternaladminsecurity
-syn keyword	cfDeprecatedFunction	contained GetK2ServerDocCount GetK2ServerDocCountLimit GetTemplatePath
-syn keyword	cfDeprecatedFunction	contained IsK2ServerABroker IsK2ServerDocCountExceeded IsK2ServerOnline
-syn keyword	cfDeprecatedFunction	contained ParameterExists AuthenticatedContext AuthenticatedUser
-syn keyword	cfDeprecatedFunction	contained isAuthenticated isAuthorized isProtected
+" OPERATOR - DECISION {{{
+"is|equal|eq
+"is not|not equal|neq
+"contains|does not contain
+"greater than|gt
+"less than|lt
+"greater than or equal to|gte|ge
+"less than or equal to|lte|le
+"==|!=|>|<|>=|<=
+sy match cfmlDecisionOperator
+  \ "\v\s
+  \(is|equal|eq
+  \|is not|not equal|neq
+  \|contains|does not contain
+  \|greater than|gt
+  \|less than|lt
+  \|greater than or equal to|gte|ge
+  \|less than or equal to|lte|le
+  \|(!|\<|\>|\=){1}\=
+  \|\<
+  \|\>
+  \)\s"
+" / OPERATOR - DECISION }}}
 
-" Add to the HTML clusters.
-syn cluster	htmlTagNameCluster	add=cfTagName,cfCustomTagName,cfDeprecatedTag
-syn cluster	htmlArgCluster		add=cfArg,cfHashRegion,cfScope
-syn cluster	htmlPreproc		add=cfHashRegion
+" OPERATOR - STRING {{{
+" &
+" &=
+sy match cfmlStringOperator
+    \ "\v\s\&\={,1}\s"
+" / OPERATOR - STRING }}}
 
-syn cluster	cfExpressionCluster	contains=cfFunctionName,cfScope,@cfOperatorCluster,cfScriptStringD,cfScriptStringS,cfScriptNumber,cfBool,cfComment
+" OPERATOR - TERNARY {{{
+" ? :
+sy match cfmlTernaryOperator
+  \ "\v\s
+  \\?|\:
+  \\s"
+" / OPERATOR - TERNARY }}}
 
-" Evaluation; skip strings ( this helps with cases like nested IIf() )
-"		containedin to add to the TOP of cfOutputRegion.
-syn region	cfHashRegion		start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contained containedin=cfOutputRegion contains=@cfExpressionCluster,cfScriptParenError
+sy cluster cfmlOperator
+  \ contains=
+    \cfmlArithmeticOperator,
+    \cfmlBooleanOperator,
+    \cfmlDecisionOperator,
+    \cfmlStringOperator,
+    \cfmlTernaryOperator
+" / OPERATOR }}}
 
-" Hashmarks are significant inside cfoutput tags.
-" cfoutput tags may be nested indefinitely.
-syn region	cfOutputRegion		matchgroup=NONE transparent start=+<cfoutput>+ end=+</cfoutput>+ contains=TOP
+" PARENTHESIS {{{
+sy cluster cfmlParenthesisRegionContains
+  \ contains=
+    \@cfmlAttribute,
+    \@cfmlComment,
+    \@cfmlFlowStatement,
+    \@cfmlOperator,
+    \@cfmlPunctuation,
+    \cfmlBoolean,
+    \cfmlBrace,
+    \cfmlCoreKeyword,
+    \cfmlCoreScope,
+    \cfmlCustomKeyword,
+    \cfmlCustomScope,
+    \cfmlEqualSign,
+    \cfmlFunctionName,
+    \cfmlNumber,
+    \cfmlStorageKeyword,
+    \cfmlStorageType
 
-" <cfset>, <cfif>, <cfelseif>, <cfreturn> are analogous to hashmarks (implicit
-" evaluation) and have 'var'
-syn region	cfSetRegion		start="<cfset\>" start="<cfreturn\>" start="<cfelseif\>" start="<cfif\>" end='>' keepend contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptStatement
-syn region	cfSetLHSRegion		contained start="<cfreturn" start="<cfelseif" start="<cfif" start="<cfset" end="." keepend contains=cfTagName,htmlTag
-syn match	cfSetTagEnd		contained '>'
+sy region cfmlParenthesisRegion1
+  \ extend
+  \ matchgroup=cfmlParenthesis1
+  \ transparent
+  \ start=/(/
+  \ end=/)/
+  \ contains=
+    \cfmlParenthesisRegion2,
+    \@cfmlParenthesisRegionContains
+sy region cfmlParenthesisRegion2
+  \ matchgroup=cfmlParenthesis2
+  \ transparent
+  \ start=/(/
+  \ end=/)/
+  \ contains=
+    \cfmlParenthesisRegion3,
+    \@cfmlParenthesisRegionContains
+sy region cfmlParenthesisRegion3
+  \ matchgroup=cfmlParenthesis3
+  \ transparent
+  \ start=/(/
+  \ end=/)/
+  \ contains=
+    \cfmlParenthesisRegion1,
+    \@cfmlParenthesisRegionContains
+sy cluster cfmlParenthesisRegion
+  \ contains=
+    \cfmlParenthesisRegion1,
+    \cfmlParenthesisRegion2,
+    \cfmlParenthesisRegion3
+" / PARENTHESIS }}}
 
-" CF comments: similar to SGML comments, but can be nested.
-syn region	cfComment		start='<!---' end='--->' contains=cfCommentTodo,cfComment
-syn keyword	cfCommentTodo		contained TODO FIXME XXX TBD WTF 
+" BRACE {{{
+sy match cfmlBrace
+    \ "{\|}"
 
-" CFscript 
-" TODO better support for new component/function def syntax
-" TODO better support for 'new'
-" TODO highlight metadata (@ ...) inside comments.
-syn match	cfScriptLineComment	contained "\/\/.*$" contains=cfCommentTodo
-syn region	cfScriptComment		contained start="/\*"	end="\*/" contains=cfCommentTodo
-syn match	cfScriptBraces		contained "[{}]"
-syn keyword	cfScriptStatement	contained return var
-" in CF, quotes are escaped by doubling
-syn region	cfScriptStringD		contained start=+"+	skip=+\\\\\|""+	end=+"+	extend contains=@htmlPreproc,cfHashRegion
-syn region	cfScriptStringS		contained start=+'+	skip=+\\\\\|''+	end=+'+	extend contains=@htmlPreproc,cfHashRegion
-syn match	cfScriptNumber		contained "\<\d\+\>"
-syn keyword	cfScriptConditional	contained if else
-syn keyword	cfScriptRepeat		contained while for in
-syn keyword	cfScriptBranch		contained break switch case default try catch continue finally
-syn keyword	cfScriptKeyword		contained function
-" argumentCollection is a special argument to function calls
-syn keyword	cfScriptSpecial		contained argumentcollection
-" ColdFusion 9:
-syn keyword	cfScriptStatement	contained new import
-" CFscript equivalents of some tags
-syn keyword	cfScriptKeyword		contained abort component exit import include
-syn keyword	cfScriptKeyword		contained interface param pageencoding property rethrow thread transaction
-" function/component syntax
-syn keyword	cfScriptSpecial		contained required extends
+sy region cfmlBraceRegion
+  \ extend
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="{"
+  \ end="}"
+" / BRACE }}}
 
+" PUNCTUATION {{{
 
-syn cluster	cfScriptCluster	contains=cfScriptParen,cfScriptLineComment,cfScriptComment,cfScriptStringD,cfScriptStringS,cfScriptFunction,cfScriptNumber,cfScriptRegexpString,cfScriptBoolean,cfScriptBraces,cfHashRegion,cfFunctionName,cfDeprecatedFunction,cfScope,@cfOperatorCluster,cfScriptConditional,cfScriptRepeat,cfScriptBranch,@cfExpressionCluster,cfScriptStatement,cfScriptSpecial,cfScriptKeyword
+" PUNCTUATION - BRACKET {{{
+sy match cfmlBracket
+  \ "\(\[\|\]\)"
+  \ contained
+" / PUNCTUATION - BRACKET }}}
 
-" Errors caused by wrong parenthesis; skip strings
-syn region	cfScriptParen	contained transparent skip=+"[^"]*"\|'[^']*'+ start=+(+ end=+)+ contains=@cfScriptCluster
-syn match	cfScrParenError	contained +)+
+" PUNCTUATION - CHAR {{{
+sy match cfmlComma ","
+sy match cfmlDot "\."
+sy match cfmlSemiColon ";"
 
-syn region	cfscriptBlock	matchgroup=NONE start="<cfscript>"	end="<\/cfscript>"me=s-1 keepend contains=@cfScriptCluster,cfscriptTag,cfScrParenError
-syn region	cfscriptTag	contained start='<cfscript' end='>' keepend contains=cfTagName,htmlTag
+" / PUNCTUATION - CHAR }}}
 
-" CFML
-syn cluster	cfmlCluster	contains=cfComment,@htmlTagNameCluster,@htmlPreproc,cfSetRegion,cfscriptBlock,cfOutputRegion
+" PUNCTUATION - QUOTE {{{
+sy region cfmlSingleQuotedValue
+  \ matchgroup=cfmlSingleQuote
+  \ start=/'/
+  \ skip=/''/
+  \ end=/'/
+  \ contains=
+    \cfmlHashSurround
 
-" cfquery = sql syntax
-if exists("b:current_syntax")
-  unlet b:current_syntax
-endif
-syn include @cfSql $VIMRUNTIME/syntax/sql.vim
-unlet b:current_syntax
-syn region	cfqueryTag	contained start=+<cfquery+ end=+>+ keepend contains=cfTagName,htmlTag
-syn region	cfSqlregion	start=+<cfquery\_[^>]*>+ keepend end=+</cfquery>+me=s-1 matchgroup=NONE contains=@cfSql,cfComment,@htmlTagNameCluster,cfqueryTag,cfHashRegion
+sy region cfmlDoubleQuotedValue
+  \ matchgroup=cfmlDoubleQuote
+  \ start=/"/
+  \ skip=/""/
+  \ end=/"/
+  \ contains=
+    \cfmlHashSurround
 
-" Define the highlighting.
+sy cluster cfmlQuotedValue
+  \ contains=
+    \cfmlDoubleQuotedValue,
+    \cfmlSingleQuotedValue
 
-if exists("d_noinclude_html")
-  " The default html-style highlighting copied from html.vim.
-  hi def link htmlTag		Function
-  hi def link htmlEndTag		Identifier
-  hi def link htmlArg		Type
-  hi def link htmlTagName		htmlStatement
-  hi def link htmlValue		String
-  hi def link htmlPreProc		PreProc
-  hi def link htmlString		String
-  hi def link htmlStatement	Statement
-  hi def link htmlValue		String
-  hi def link htmlTagError		htmlError
-  hi def link htmlError		Error
-endif
+sy cluster cfmlQuote
+  \ contains=
+    \cfmlDoubleQuote,
+    \cfmlSingleQuote
+" / PUNCTUATION - QUOTE }}}
 
-hi def link cfTagName		Statement
-hi def link cfCustomTagName	Statement
-hi def link cfArg			Type
-hi def link cfFunctionName		Function
-hi def link cfHashRegion		PreProc
-hi def link cfComment		Comment
-hi def link cfCommentTodo		Todo
-hi def link cfOperator		Operator
-hi def link cfOperatorMatch	Operator
-hi def link cfScope		Title
-hi def link cfBool			Constant
+sy cluster cfmlPunctuation
+  \ contains=
+    \@cfmlQuote,
+    \@cfmlQuotedValue,
+    \cfmlBracket,
+    \cfmlComma,
+    \cfmlDot,
+    \cfmlSemiColon
 
-hi def link cfscriptBlock		Special
-hi def link cfscriptTag		htmlTag
-hi def link cfSetRegion		PreProc
-hi def link cfSetLHSRegion		htmlTag
-hi def link cfSetTagEnd		htmlTag
+" / PUNCTUATION }}}
 
-hi def link cfScriptLineComment	Comment
-hi def link cfScriptComment	Comment
-hi def link cfScriptStringS	String
-hi def link cfScriptStringD	String
-hi def link cfScriptNumber		cfScriptValue
-hi def link cfScriptConditional	Conditional
-hi def link cfScriptRepeat		Repeat
-hi def link cfScriptBranch		Conditional
-hi def link cfScriptSpecial	Type
-hi def link cfScriptStatement	Statement
-hi def link cfScriptBraces		Function
-hi def link cfScriptKeyword	Function
-hi def link cfScriptError		Error
-hi def link cfDeprecatedTag	Error
-hi def link cfDeprecatedFunction	Error
-hi def link cfScrParenError	cfScriptError
+" TAG START AND END {{{
+" tag start
+" <cf...>
+" s^^   e
+sy region cfmlTagStart
+  \ keepend
+  \ transparent
+  \ start="\c<cf_*"
+  \ end=">"
+\ contains=
+  \@cfmlAttribute,
+  \@cfmlComment,
+  \@cfmlOperator,
+  \@cfmlParenthesisRegion,
+  \@cfmlPunctuation,
+  \@cfmlQuote,
+  \@cfmlQuotedValue,
+  \cfmlAttrEqualSign,
+  \cfmlBoolean,
+  \cfmlBrace,
+  \cfmlCoreKeyword,
+  \cfmlCoreScope,
+  \cfmlCustomKeyword,
+  \cfmlCustomScope,
+  \cfmlEqualSign,
+  \cfmlFunctionName,
+  \cfmlNumber,
+  \cfmlStorageKeyword,
+  \cfmlStorageType,
+  \cfmlTagBracket,
+  \cfmlTagName
 
-hi def link cfqueryTag		htmlTag
+" tag end
+" </cf...>
+" s^^^   e
+sy match cfmlTagEnd
+  \ transparent
+  \ "\c</cf_*[^>]*>"
+  \ contains=
+    \cfmlTagBracket,
+    \cfmlTagName
 
-let b:current_syntax = "cf"
+" tag bracket
+" </...>
+" ^^   ^
+sy match cfmlTagBracket
+  \ contained
+  \ "\(<\|>\|\/\)"
 
-" vim: nowrap sw=2 ts=8 noet
+" tag name
+" <cf...>
+"  s^^^e
+sy match cfmlTagName
+  \ contained
+  \ "\v<\/*\zs\ccf\w*"
+" / TAG START AND END }}}
+
+" ATTRIBUTE NAME AND VALUE {{{
+sy match cfmlAttrName
+  \ contained
+  \ "\v(var\s)@<!\w+\ze\s*\=([^\=])+"
+
+sy match cfmlAttrValue
+  \ contained
+  \ "\v(\=\"*)\zs\s*\w*"
+
+sy match cfmlAttrEqualSign
+  \ contained
+  \ "\v\="
+
+sy cluster cfmlAttribute
+\ contains=
+  \@cfmlQuotedValue,
+  \cfmlAttrEqualSign,
+  \cfmlAttrName,
+  \cfmlAttrValue,
+  \cfmlCoreKeyword,
+  \cfmlCoreScope
+" / ATTRIBUTE NAME AND VALUE }}}
+
+" TAG REGION AND FOLDING {{{
+
+" CFCOMPONENT REGION AND FOLD {{{
+" <cfcomponent
+" s^^^^^^^^^^^
+" </cfcomponent>
+" ^^^^^^^^^^^^^e
+sy region cfmlComponentTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfcomponent"
+  \ end="\c</cfcomponent>"
+
+" / CFCOMPONENT REGION AND FOLD }}}
+
+" CFFUNCTION REGION AND FOLD {{{
+" <cffunction
+" s^^^^^^^^^^
+" </cffunction>
+" ^^^^^^^^^^^^e
+sy region cfmlFunctionTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cffunction"
+  \ end="\c</cffunction>"
+" / CFFUNCTION REGION AND FOLD }}}
+
+" CFIF REGION AND FOLD {{{
+" <cfif
+" s^^^^
+" </cfif>
+" ^^^^^^e
+sy region cfmlIfTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfif"
+  \ end="\c</cfif>"
+" / CFIF REGION AND FOLD }}}
+
+" CFLOOP REGION AND FOLD {{{
+" <cfloop
+" s^^^^^^
+" </cfloop>
+" ^^^^^^^^e
+sy region cfmlLoopTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfloop"
+  \ end="\c</cfloop>"
+" / CFLOOP REGION AND FOLD }}}
+
+" CFOUTPUT REGION AND FOLD {{{
+" <cfoutput
+" s^^^^^^^^
+" </cfoutput>
+" ^^^^^^^^^^e
+sy region cfmlOutputTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfoutput"
+  \ end="\c</cfoutput>"
+" / CFOUTPUT REGION AND FOLD }}}
+
+" CFQUERY REGION AND FOLD {{{
+" <cfquery
+" s^^^^^^^
+" </cfquery>
+" ^^^^^^^^^e
+        "\@cfmlSqlStatement,
+sy region cfmlQueryTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfquery"
+  \ end="\c</cfquery>"
+  \ contains=
+    \@cfmlSqlStatement,
+    \cfmlTagStart,
+    \cfmlTagEnd,
+    \cfmlTagComment
+" / CFQUERY REGION AND FOLD }}}
+
+" SAVECONTENT REGION AND FOLD {{{
+" <savecontent
+" s^^^^^^^^^^^
+" </savecontent>
+" ^^^^^^^^^^^^^e
+sy region cfmlSavecontentTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfsavecontent"
+  \ end="\c</cfsavecontent>"
+" / SAVECONTENT REGION AND FOLD }}}
+
+" CFSCRIPT REGION AND FOLD {{{
+" <cfscript>
+" s^^^^^^^^^
+" </cfscript>
+" ^^^^^^^^^^e
+"\cfmlCustomScope,
+sy region cfmlScriptTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfscript>"
+  \ end="\c</cfscript>"
+  \ contains=
+    \@cfmlComment,
+    \@cfmlFlowStatement,
+    \cfmlHashSurround,
+    \@cfmlOperator,
+    \@cfmlParenthesisRegion,
+    \@cfmlPunctuation,
+    \cfmlBoolean,
+    \cfmlBrace,
+    \cfmlCoreKeyword,
+    \cfmlCoreScope,
+    \cfmlCustomKeyword,
+    \cfmlCustomScope,
+    \cfmlEqualSign,
+    \cfmlFunctionDefinition,
+    \cfmlFunctionName,
+    \cfmlNumber,
+    \cfmlOddFunction,
+    \cfmlStorageKeyword,
+    \cfmlTagEnd,
+    \cfmlTagStart
+" / CFSCRIPT REGION AND FOLD }}}
+
+" CFSWITCH REGION AND FOLD {{{
+" <cfswitch
+" s^^^^^^^^
+" </cfswitch>
+" ^^^^^^^^^^e
+sy region cfmlSwitchTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cfswitch"
+  \ end="\c</cfswitch>"
+" / CFSWITCH REGION AND FOLD }}}
+
+" CFTRANSACTION REGION AND FOLD {{{
+" <cftransaction
+" s^^^^^^^^^^^^^
+" </cftransaction>
+" ^^^^^^^^^^^^^^^e
+sy region cfmlTransactionTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cftransaction"
+  \ end="\c</cftransaction>"
+" / CFTRANSACTION REGION AND FOLD }}}
+
+" CUSTOM TAG REGION AND FOLD {{{
+" <cf_...>
+" s^^^   ^
+" </cf_...>
+" ^^^^^   e
+sy region cfmlCustomTagRegion
+  \ fold
+  \ keepend
+  \ transparent
+  \ start="\c<cf_[^>]*>"
+  \ end="\c</cf_[^>]*>"
+" / CUSTOM TAG REGION AND FOLD }}}
+
+" / TAG REGION AND FOLDING }}}
+
+" COMMENT {{{
+
+" COMMENT BLOCK {{{
+" /*...*/
+" s^   ^e
+sy region cfmlCommentBlock
+  \ keepend
+  \ start="/\*"
+  \ end="\*/"
+  \ contains=
+    \cfmlMetaData
+" / COMMENT BLOCK }}}
+
+" COMMENT LINE {{{
+" //...
+" s^
+sy match cfmlCommentLine
+        \ "\/\/.*"
+" / COMMENT LINE }}}
+
+sy cluster cfmlComment
+  \ contains=
+    \cfmlCommentBlock,
+    \cfmlCommentLine
+" / COMMENT }}}
+
+" TAG COMMENT {{{
+" <!---...--->
+" s^^^^   ^^^e
+sy region cfmlTagComment
+  \ keepend
+    \ start="<!---"
+    \ end="--->"
+    \ contains=
+      \cfmlTagComment
+" / TAG COMMENT }}}
+
+" FLOW STATEMENT {{{
+" BRANCH FLOW KEYWORD {{{
+sy keyword cfmlBranchFlowKeyword
+  \ break
+  \ continue
+  \ return
+
+" / BRANCH KEYWORD }}}
+
+" DECISION FLOW KEYWORD {{{
+sy keyword cfmlDecisionFlowKeyword
+  \ case
+  \ defaultcase
+  \ else
+  \ if
+  \ switch
+
+" / DECISION FLOW KEYWORD }}}
+
+" LOOP FLOW KEYWORD {{{
+sy keyword cfmlLoopFlowKeyword
+  \ do
+  \ for
+  \ in
+  \ while
+
+" / LOOP FLOW KEYWORD }}}
+
+" TRY FLOW KEYWORD {{{
+sy keyword cfmlTryFlowKeyword
+  \ catch
+  \ finally
+  \ rethrow
+  \ throw
+  \ try
+
+" / TRY FLOW KEYWORD }}}
+
+sy cluster cfmlFlowStatement
+  \ contains=
+    \cfmlBranchFlowKeyword,
+    \cfmlDecisionFlowKeyword,
+    \cfmlLoopFlowKeyword,
+    \cfmlTryFlowKeyword
+
+" / FLOW STATEMENT }}}
+
+" STORAGE KEYWORD {{{
+sy keyword cfmlStorageKeyword
+    \ var
+" / STORAGE KEYWORD }}}
+
+" STORAGE TYPE {{{
+sy match cfmlStorageType
+  \ contained
+  \ "\v<
+    \(any
+    \|array
+    \|binary
+    \|boolean
+    \|date
+    \|numeric
+    \|query
+    \|string
+    \|struct
+    \|uuid
+    \|void
+    \|xml
+  \){1}\ze(\s*\=)@!"
+" / STORAGE TYPE }}}
+
+" CORE KEYWORD {{{
+sy match cfmlCoreKeyword
+  \ "\v<
+    \(new
+    \|required
+    \)\ze\s"
+" / CORE KEYWORD }}}
+
+" CORE SCOPE {{{
+sy match cfmlCoreScope
+  \ "\v<
+    \(application
+    \|arguments
+    \|attributes
+    \|caller
+    \|cfcatch
+    \|cffile
+    \|cfhttp
+    \|cgi
+    \|client
+    \|cookie
+    \|form
+    \|local
+    \|request
+    \|server
+    \|session
+    \|super
+    \|this
+    \|thisTag
+    \|thread
+    \|variables
+    \|url
+    \){1}\ze(,|\.|\[|\)|\s)"
+" / CORE SCOPE }}}
+
+" SQL STATEMENT {{{
+sy cluster cfmlSqlStatement
+  \ contains=
+    \@cfmlParenthesisRegion,
+    \@cfmlQuote,
+    \@cfmlQuotedValue,
+    \@sqlSyntax,
+    \cfmlBoolean,
+    \cfmlDot,
+    \cfmlEqualSign,
+    \cfmlFunctionName,
+    \cfmlHashSurround,
+    \cfmlNumber
+" / SQL STATEMENT }}}
+
+" TAG IN SCRIPT {{{
+sy match cfmlTagNameInScript
+    \ "\vcf_*\w+\s*\ze\("
+" / TAG IN SCRIPT }}}
+
+" METADATA {{{
+sy region cfmlMetaData
+  \ contained
+  \ keepend
+  \ start="@\w\+"
+  \ end="$"
+  \ contains=
+    \cfmlMetaDataName
+
+sy match cfmlMetaDataName
+    \ contained
+    \ "@\w\+"
+" / METADATA }}}
+
+" COMPONENT DEFINITION {{{
+sy region cfmlComponentDefinition
+  \ start="component"
+  \ end="{"me=e-1
+  \ contains=
+    \@cfmlAttribute,
+    \cfmlComponentKeyword
+
+sy match cfmlComponentKeyword
+  \ contained
+  \ "\v<component>"
+" / COMPONENT DEFINITION }}}
+
+" INTERFACE DEFINITION {{{
+sy match cfmlInterfaceDefinition
+  \ "interface\s.*{"me=e-1
+  \ contains=
+    \cfmlInterfaceKeyword
+
+sy match cfmlInterfaceKeyword
+    \ contained
+    \ "\v<interface>"
+" / INTERFACE DEFINITION }}}
+
+" PROPERTY {{{
+sy region cfmlProperty
+  \ transparent
+  \ start="\v<property>"
+  \ end=";"me=e-1
+  \ contains=
+    \@cfmlQuotedValue,
+    \cfmlAttrEqualSign,
+    \cfmlAttrName,
+    \cfmlAttrValue,
+    \cfmlPropertyKeyword
+
+sy match cfmlPropertyKeyword
+        \ contained
+        \ "\v<property>"
+" / PROPERTY }}}
+
+" FUNCTION DEFINITION {{{
+sy match cfmlFunctionDefinition
+  \ "\v
+    \(<(public|private|package)\s){,1}
+    \(<
+      \(any
+      \|array
+      \|binary
+      \|boolean
+      \|date
+      \|numeric
+      \|query
+      \|string
+      \|struct
+      \|uuid
+      \|void
+      \|xml
+    \)\s){,1}
+  \<function\s\w+\s*\("me=e-1
+  \ contains=
+    \cfmlFunctionKeyword,
+    \cfmlFunctionModifier,
+    \cfmlFunctionName,
+    \cfmlFunctionReturnType
+
+" FUNCTION KEYWORD {{{
+sy match cfmlFunctionKeyword
+  \ contained
+  \ "\v<function>"
+" / FUNCTION KEYWORD }}}
+
+" FUNCTION MODIFIER {{{
+sy match cfmlFunctionModifier
+  \ contained
+    \ "\v<
+    \(public
+    \|private
+    \|package
+    \)>"
+" / FUNCTION MODIFIER }}}
+
+" FUNCTION RETURN TYPE {{{
+sy match cfmlFunctionReturnType
+  \ contained
+    \ "\v
+    \(any
+    \|array
+    \|binary
+    \|boolean
+    \|date
+    \|numeric
+    \|query
+    \|string
+    \|struct
+    \|uuid
+    \|void
+    \|xml
+    \)"
+" / FUNCTION RETURN TYPE }}}
+
+" FUNCTION NAME {{{
+" specific regex for core functions decreases performance
+" so use the same highlighting for both function types
+sy match cfmlFunctionName
+    \ "\v<(cf|if|elseif|throw)@!\w+\s*\ze\("
+" / FUNCTION NAME }}}
+
+" / FUNCTION DEFINITION }}}
+
+" ODD FUNCTION {{{
+sy region cfmlOddFunction
+  \ transparent
+  \ start="\v<
+    \(abort
+    \|exit
+    \|import
+    \|include
+    \|lock
+    \|pageencoding
+    \|param
+    \|savecontent
+    \|thread
+    \|transaction
+    \){1}"
+  \ end="\v(\{|;)"me=e-1
+  \ contains=
+    \@cfmlQuotedValue,
+    \cfmlAttrEqualSign,
+    \cfmlAttrName,
+    \cfmlAttrValue,
+    \cfmlCoreKeyword,
+    \cfmlOddFunctionKeyword,
+    \cfmlCoreScope
+
+" ODD FUNCTION KEYWORD {{{
+sy match cfmlOddFunctionKeyword
+  \ contained
+    \ "\v<
+    \(abort
+    \|exit
+    \|import
+    \|include
+    \|lock
+    \|pageencoding
+    \|param
+    \|savecontent
+    \|thread
+    \|transaction
+    \)\ze(\s|$|;)"
+" / ODD FUNCTION KEYWORD }}}
+
+" / ODD FUNCTION }}}
+
+" CUSTOM {{{
+
+" CUSTOM KEYWORD {{{
+sy match cfmlCustomKeyword
+  \ contained
+    \ "\v<
+    \(customKeyword1
+    \|customKeyword2
+    \|customKeyword3
+    \)>"
+" / CUSTOM KEYWORD }}}
+
+" CUSTOM SCOPE {{{
+sy match cfmlCustomScope
+  \ contained
+    \ "\v<
+    \(prc
+    \|rc
+    \|event
+    \|(\w+Service)
+    \){1}\ze(\.|\[)"
+" / CUSTOM SCOPE }}}
+
+" / CUSTOM }}}
+
+" SGML TAG START AND END {{{
+" SGML tag start
+" <...>
+" s^^^e
+sy region cfmlSGMLTagStart
+  \ keepend
+  \ transparent
+  \ start="\v(\<cf)@!\zs\<\w+"
+  \ end=">"
+  \ contains=
+    \@cfmlAttribute,
+    \@cfmlComment,
+    \@cfmlOperator,
+    \@cfmlParenthesisRegion,
+    \@cfmlPunctuation,
+    \@cfmlQuote,
+    \@cfmlQuotedValue,
+    \cfmlAttrEqualSign,
+    \cfmlBoolean,
+    \cfmlBrace,
+    \cfmlCoreKeyword,
+    \cfmlCoreScope,
+    \cfmlCustomKeyword,
+    \cfmlCustomScope,
+    \cfmlEqualSign,
+    \cfmlFunctionName,
+    \cfmlNumber,
+    \cfmlStorageKeyword,
+    \cfmlStorageType,
+    \cfmlTagBracket,
+    \cfmlSGMLTagName
+
+" SGML tag end
+" </...>
+" s^^^^e
+sy match cfmlSGMLTagEnd
+  \ transparent
+  \ "\v(\<\/cf)@!\zs\<\/\w+\>"
+  \ contains=
+    \cfmlTagBracket,
+    \cfmlSGMLTagName
+
+" SGML tag name
+" <...>
+" s^^^e
+sy match cfmlSGMLTagName
+  \ contained
+  \ "\v(\<\/*)\zs\w+"
+
+" / SGML TAG START AND END }}}
+
+" HIGHLIGHTING {{{
+
+hi link cfmlNumber Number
+hi link cfmlBoolean Boolean
+hi link cfmlEqualSign Keyword
+" HASH SURROUND
+hi link cfmlHash PreProc
+hi link cfmlHashSurround PreProc
+" OPERATOR
+hi link cfmlArithmeticOperator Function
+hi link cfmlBooleanOperator Function
+hi link cfmlDecisionOperator Function
+hi link cfmlStringOperator Function
+hi link cfmlTernaryOperator Function
+" PARENTHESIS
+hi link cfmlParenthesis1 Statement
+hi link cfmlParenthesis2 String
+hi link cfmlParenthesis3 Delimiter
+" BRACE
+hi link cfmlBrace PreProc
+" PUNCTUATION - BRACKET
+hi link cfmlBracket Statement
+" PUNCTUATION - CHAR
+hi link cfmlComma Comment
+hi link cfmlDot Comment
+hi link cfmlSemiColon Comment
+" PUNCTUATION - QUOTE
+hi link cfmlDoubleQuote String
+hi link cfmlDoubleQuotedValue String
+hi link cfmlSingleQuote String
+hi link cfmlSingleQuotedValue String
+" TAG START AND END
+hi link cfmlTagName Function
+hi link cfmlTagBracket Comment
+" ATTRIBUTE NAME AND VALUE
+hi link cfmlAttrName Type
+hi link cfmlAttrValue Special
+" COMMENT
+hi link cfmlCommentBlock Comment
+hi link cfmlCommentLine Comment
+hi link cfmlTagComment Comment
+" FLOW STATEMENT
+hi link cfmlDecisionFlowKeyword Conditional
+hi link cfmlLoopFlowKeyword Repeat
+hi link cfmlTryFlowKeyword Exception
+hi link cfmlBranchFlowKeyword Keyword
+" STORAGE KEYWORD
+hi link cfmlStorageKeyword Keyword
+" STORAGE TYPE
+hi link cfmlStorageType Keyword
+" CORE KEYWORD
+hi link cfmlCoreKeyword PreProc
+" CORE SCOPE
+hi link cfmlCoreScope Keyword
+" TAG IN SCRIPT
+hi link cfmlTagNameInScript Function
+" METADATA
+" meta data value = cfmlMetaData
+hi link cfmlMetaData String
+hi link cfmlMetaDataName Type
+" COMPONENT DEFINITION
+hi link cfmlComponentKeyword Keyword
+" INTERFACE DEFINITION
+hi link cfmlInterfaceKeyword Keyword
+" PROPERTY
+hi link cfmlPropertyKeyword Keyword
+" FUNCTION DEFINITION
+hi link cfmlFunctionKeyword Keyword
+hi link cfmlFunctionModifier Keyword
+hi link cfmlFunctionReturnType Keyword
+hi link cfmlFunctionName Function
+" ODD FUNCTION
+hi link cfmlOddFunctionKeyword Function
+" CUSTOM
+hi link cfmlCustomKeyword Keyword
+hi link cfmlCustomScope Structure
+" SGML TAG
+hi link cfmlSGMLTagName Ignore
+
+" / HIGHLIGHTING }}}
+
+let b:current_syntax = "cfml"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/zsh.vim b/runtime/syntax/zsh.vim
index e16e74e..b4efcdc 100644
--- a/runtime/syntax/zsh.vim
+++ b/runtime/syntax/zsh.vim
@@ -2,7 +2,7 @@
 " Language:             Zsh shell script
 " Maintainer:           Christian Brabandt <cb@256bit.org>
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2017-07-11
+" Latest Revision:      2017-11-22
 " License:              Vim (see :h license)
 " Repository:           https://github.com/chrisbra/vim-zsh
 
@@ -324,9 +324,9 @@
       \ \%(\%(\<no_\?\)\?vi\>\)\|
       \ \%(\%(\<no_\?\)\?warncreateglobal\>\)\|\%(\%(no_\?\)\?warn_create_global\>\)\|
       \ \%(\%(\<no_\?\)\?xtrace\>\)\|
-      \ \%(\%(\<no_\?\)\?zle\>\)/ nextgroup=zshOption skipwhite contained
+      \ \%(\%(\<no_\?\)\?zle\>\)/ nextgroup=zshOption,zshComment skipwhite contained
 
-syn keyword zshTypes            float integer local typeset declare private
+syn keyword zshTypes            float integer local typeset declare private readonly
 
 " XXX: this may be too much
 " syn match   zshSwitches         '\s\zs--\=[a-zA-Z0-9-]\+'
