Update runtime files.
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index 4e008d2..b1d7a31 100644
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2013 Jan 03
+" Last Change: 2013 May 05
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
 
 " Standard syntax initialization
@@ -19,7 +19,7 @@
 " Define some common expressions we can use later on
 syn match debchangelogName	contained "^[[:alnum:]][[:alnum:].+-]\+ "
 syn match debchangelogUrgency	contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget	contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|oneiric|precise|quantal|raring)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+syn match debchangelogTarget	contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(lucid|precise|quantal|raring|saucy)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
 syn match debchangelogVersion	contained "(.\{-})"
 syn match debchangelogCloses	contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
 syn match debchangelogLP	contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index 7c64471..f3dd2a5 100644
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
 " Language:     Debian sources.list
 " Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2013 Jan 03
+" Last Change: 2013 May 05
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -23,7 +23,7 @@
 
 " Match uri's
 syn match debsourcesUri            +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' 	<>"]\++
-syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|oneiric\|precise\|quantal\|raring\)\([-[:alnum:]_./]*\)+
+syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|lucid\|precise\|quantal\|raring\|saucy\)\([-[:alnum:]_./]*\)+
 
 " Associate our matches and regions with pretty colours
 hi def link debsourcesLine            Error
diff --git a/runtime/syntax/erlang.vim b/runtime/syntax/erlang.vim
index 28bc4a5..f34a004 100644
--- a/runtime/syntax/erlang.vim
+++ b/runtime/syntax/erlang.vim
@@ -1,126 +1,175 @@
 " Vim syntax file
-" Language:     Erlang
-" Author:       Oscar Hellström <oscar@oscarh.net> (http://oscar.hellstrom.st)
-" Contributors: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
+" Language:     Erlang (http://www.erlang.org)
+" Maintainer:   Csaba Hoch <csaba.hoch@gmail.com>
+" Former Maintainer:  Kreąimir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr>
+" Last Update:  2013-Mar-07
 " License:      Vim license
-" Version:      2011/09/11
+" URL:          https://github.com/hcs42/vim-erlang
 
-if exists("b:current_syntax")
-	finish
-else
-	let b:current_syntax = "erlang"
+" Customization:
+"
+" There are two optional sets of highlighting:
+"
+" 1. The BIFs (built-in functions) are highlighted by default. To disable
+"    this, put the following line in your vimrc:
+"
+"      let g:erlang_highlight_bifs = 0
+"
+" 2. To enable highlighting some special atoms, put this in your vimrc:
+"
+"      let g:erlang_highlight_special_atoms = 1
+
+" 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
 
-if !exists("g:erlang_highlight_bif")
-	let g:erlang_highlight_bif = 1
-endif
-
-" Erlang is case sensitive
+" Case sensitive
 syn case match
 
-" Match groups
-syn match erlangStringModifier               /\\./ contained
-syn match erlangStringModifier               /\~\%(-\?[0-9*]\+\)\?\%(\.[0-9*]\+\..\?\)\?\%(c\|f\|e\|g\|s\|w\|p\|W\|P\|B\|X\|#\|b\|+\|n\|i\)/ contained
-syn match erlangModifier                     /\$\\\?./
-
-syn match erlangInteger                      /\<\%([0-9]\+#[0-9a-fA-F]\+\|[0-9]\+\)\>/
-syn match erlangFloat                        /\<[0-9]\+\.[0-9]\+\%(e-\?[0-9]\+\)\?\>/
-
-syn keyword erlangTodo                       TODO FIXME XXX contained
-syn match   erlangComment                    /%.*$/ contains=@Spell,erlangTodo,erlangAnnotation
-syn match   erlangAnnotation                 /\%(%\s\)\@<=@\%(author\|clear\|copyright\|deprecated\|doc\|docfile\|end\|equiv\|headerfile\|hidden\|private\|reference\|see\|since\|spec\|throws\|title\|todo\|TODO\|type\|version\)/ contained
-syn match   erlangAnnotation                 /`[^']\+'/ contained
-
-syn keyword erlangKeyword                    band bor bnot bsl bsr bxor div rem xor
-syn keyword erlangKeyword                    try catch begin receive after cond fun let query
-
-syn keyword erlangConditional                case if of end
-syn keyword erlangConditional                not and or andalso orelse
-syn keyword erlangConditional                when
-
-syn keyword erlangBoolean                    true false
-
-syn keyword erlangGuard                      is_list is_alive is_atom is_binary is_bitstring is_boolean is_tuple is_number is_integer is_float is_function is_constant is_pid is_port is_reference is_record is_process_alive
-
-syn match erlangOperator                     /\/\|*\|+\|-\|++\|--/
-syn match erlangOperator                     /->\|<-\|||\||\|!\|=/
-syn match erlangOperator                     /=:=\|==\|\/=\|=\/=\|<\|>\|=<\|>=/
-syn keyword erlangOperator                   div rem
-
-syn region erlangString                      start=/"/ end=/"/ skip=/\\/ contains=@Spell,erlangStringModifier
-
-syn match erlangVariable                     /\<[A-Z_]\w*\>/
-syn match erlangAtom                         /\%(\%(^-\)\|#\)\@<!\<[a-z][A-Za-z0-9_]*\>\%(\s*[(:]\)\@!/
-syn match erlangAtom                         /\\\@<!'[^']*\\\@<!'/
-
-syn match erlangRecord                       /#\w\+/
-
-syn match erlangTuple                        /{\|}/
-syn match erlangList                         /\[\|\]/
-
-syn match erlangAttribute                    /^-\%(vsn\|author\|copyright\|compile\|deprecated\|module\|export\|import\|behaviour\|behavior\|export_type\|ignore_xref\|on_load\)\s*(\@=/
-syn match erlangInclude                      /^-include\%(_lib\)\?\s*(\@=/
-syn match erlangRecordDef                    /^-record\s*(\@=/
-syn match erlangDefine                       /^-\%(define\|undef\)\s*(\@=/
-syn match erlangPreCondit                    /^-\%(ifdef\|ifndef\|else\|endif\)\%(\s*(\@=\)\?/
-
-syn match erlangType                         /^-\%(spec\|type\)[( ]\@=/
-
-syn match erlangMacro                        /\%(-define(\)\@<=\w\+/
-syn match erlangMacro                        /?\??\w\+/
-
-syn match erlangBitType                      /\%(\/\|-\)\@<=\%(bits\|bitstring\|binary\|integer\|float\|unit\)\>/
-syn match erlangBitSize                      /:\@<=[0-9]\+/
-
-syn match erlangBinary                      /<<\|>>/
-
-" BIFs
-syn match erlangBIF                          /\%([^:0-9A-Za-z_]\|\<erlang:\)\@<=\%(abs\|apply\|atom_to_binary\|atom_to_list\|binary_part\|binary_to_atom\|binary_to_existing_atom\|binary_to_list\|binary_to_term\|bit_size\|bitstring_to_list\|byte_size\|check_process_code\|date\|delete_module\|demonitor\|disconnect_node\|element\|erase\|exit\|float\|float_to_list\|garbage_collect\|get\|get_keys\|group_leader\|hd\|integer_to_list\|iolist_size\|iolist_to_binary\|is_alive\|is_atom\|is_binary\|is_bitstring\|is_boolean\|is_float\|is_function\|is_integer\|is_list\|is_number\|is_pid\|is_port\|is_process_alive\|is_record\|is_reference\|is_tuple\|length\|link\|list_to_atom\|list_to_binary\|list_to_bitstring\|list_to_existing_atom\|list_to_float\|list_to_integer\|list_to_pid\|list_to_tuple\|load_module\|make_ref\|max\|min\|module_loaded\|monitor\|monitor_node\|node\|nodes\|now\|open_port\|pid_to_list\|port_close\|port_command\|port_connect\|port_control\|pre_loaded\|processes\|process_flag\|process_info\|purge_module\|put\|register\|registered\|round\|self\|setelement\|size\|spawn\|spawn_link\|spawn_monitor\|spawn_opt\|split_binary\|statistics\|term_to_binary\|time\|tl\|trunc\|tuple_size\|tuple_to_list\|unlink\|unregister\|whereis\)\%((\|\/[0-9]\)\@=/
-syn match erlangBIF                          /\<\%(erlang:\)\@<=\%(append_element\|bump_reductions\|cancel_timer\|decode_packet\|display\|function_exported\|fun_info\|fun_to_list\|get_cookie\|get_stacktrace\|hash\|is_builtin\|loaded\|load_nif\|localtime\|localtime_to_universaltime\|make_tuple\|memory\|monitor_node\|phash\|port_call\|port_info\|ports\|port_to_list\|process_display\|read_timer\|ref_to_list\|resume_process\|send\|send_after\|send_nosuspend\|set_cookie\|start_timer\|suspend_process\|system_flag\|system_info\|system_monitor\|system_profile\|trace\|trace_delivered\|trace_info\|trace_pattern\|universaltime\|universaltime_to_localtime\|yield\)(\@=/
-syn match erlangGBIF                         /erlang\%(:\w\)\@=/
-
-" Link Erlang stuff to Vim groups
-hi link erlangTodo           Todo
-hi link erlangString         String
-hi link erlangNoSpellString  String
-hi link erlangModifier       SpecialChar
-hi link erlangStringModifier SpecialChar
-hi link erlangComment        Comment
-hi link erlangAnnotation     Special
-hi link erlangVariable       Identifier
-hi link erlangInclude        Include
-hi link erlangRecordDef      Keyword
-hi link erlangAttribute      Keyword
-hi link erlangKeyword        Keyword
-hi link erlangMacro          Macro
-hi link erlangDefine         Define
-hi link erlangPreCondit      PreCondit
-hi link erlangPreProc        PreProc
-hi link erlangDelimiter      Delimiter
-hi link erlangBitDelimiter   Normal
-hi link erlangOperator       Operator
-hi link erlangConditional    Conditional
-hi link erlangGuard          Conditional
-hi link erlangBoolean        Boolean
-hi link erlangAtom           Constant
-hi link erlangRecord         Structure
-hi link erlangInteger        Number
-hi link erlangFloat          Number
-hi link erlangFloat          Number
-hi link erlangFloat          Number
-hi link erlangFloat          Number
-hi link erlangHex            Number
-hi link erlangFun            Keyword
-hi link erlangList           Delimiter
-hi link erlangTuple          Delimiter
-hi link erlangBinary         Keyword
-hi link erlangBitVariable    Identifier
-hi link erlangBitType        Type
-hi link erlangType           Type
-hi link erlangBitSize        Number
-
-" Optional highlighting
-if g:erlang_highlight_bif
-	hi link erlangBIF    Keyword
-	hi link erlangGBIF   Keyword
+if version >= 600
+  setlocal iskeyword+=$,@-@
 endif
+
+" Comments
+syn match erlangComment             '%.*$' contains=erlangCommentAnnotation,erlangTodo
+syn match erlangCommentAnnotation   ' \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)' contained
+syn match erlangCommentAnnotation   /`[^']*'/ contained
+syn keyword erlangTodo              TODO FIXME XXX contained
+
+" Numbers (minimum base is 2, maximum is 36.)
+syn match   erlangNumberInteger     '\<\d\+\>'
+syn match   erlangNumberInteger     '\<\%([2-9]\|[12]\d\|3[0-6]\)\+#[[:alnum:]]\+\>'
+syn match   erlangNumberFloat       '\<\d\+\.\d\+\%([eE][+-]\=\d\+\)\=\>'
+
+" Strings, atoms, characters
+syn region  erlangString            start=/"/ end=/"/ contains=erlangStringModifier
+syn region  erlangQuotedAtom        start=/'/ end=/'/ contains=erlangQuotedAtomModifier
+syn match   erlangStringModifier     '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained
+syn match   erlangQuotedAtomModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained
+syn match   erlangModifier           '\$\%([^\\]\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\)'
+
+" Operators
+syn match   erlangOperator          '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/'
+syn keyword erlangOperator          div rem or xor bor bxor bsl bsr and band not bnot andalso orelse
+
+" Separators
+syn match erlangSeparator           '(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|#'
+syn match erlangRightArrow          '->'
+
+" Functions call
+syn match   erlangFCall             '\<\%(\a[[:alnum:]@]*\s*\.\s*\)*\a[[:alnum:]@]*\s*:\s*\a[[:alnum:]@]*\>'
+
+" Constants and Directives
+syn match   erlangDirective         '-\%(behaviour\|behavior\|compile\|define\|else\|endif\|export\|file\|ifdef\|ifndef\|import\|include_lib\|include\|module\|record\|undef\|author\|copyright\|doc\|vsn\|on_load\|export_type\)\>'
+
+" Keywords
+syn keyword erlangKeyword           after begin case catch cond end fun if let of query receive when try
+syn keyword erlangExtra             true false
+
+
+if !exists("g:erlang_highlight_bifs") || g:erlang_highlight_bifs == 1
+
+  " build-in-functions (BIFs)
+  syn keyword erlangBIF        abs alive apply atom_to_binary atom_to_list binary_part binary_to_atom binary_to_existing_atom binary_to_float binary_to_integer bitstring_to_list binary_to_list binary_to_term bit_size byte_size check_old_code check_process_code concat_binary date delete_module demonitor disconnect_node element erase error exit float float_to_binary float_to_list garbage_collect get get_keys group_leader halt hd integer_to_binary integer_to_list iolist_to_binary iolist_size is_alive is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_bitstring list_to_existing_atom list_to_float list_to_integer list_to_pid list_to_tuple load_module make_ref max min module_loaded monitor monitor_node node nodes now open_port pid_to_list port_close port_command port_connect pre_loaded process_flag process_flag process_info process purge_module put register registered round self setelement size spawn spawn_link spawn_monitor spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_size tuple_to_list unlink unregister whereis
+
+endif
+
+
+if exists("g:erlang_highlight_special_atoms") && g:erlang_highlight_special_atoms == 1
+
+  " Processes
+  syn keyword erlangProcess    creation current_function dictionary
+  syn keyword erlangProcess    group_leader heap_size high initial_call
+  syn keyword erlangProcess    linked low memory_in_use message_queue
+  syn keyword erlangProcess    net_kernel node normal priority
+  syn keyword erlangProcess    reductions registered_name runnable
+  syn keyword erlangProcess    running stack_trace status timer
+  syn keyword erlangProcess    trap_exit waiting
+
+  " Ports
+  syn keyword erlangPort       command count_in count_out creation in
+  syn keyword erlangPort       in_format linked node out owner packeting
+
+  " Nodes
+  syn keyword erlangNode       atom_tables communicating creation
+  syn keyword erlangNode       current_gc current_reductions current_runtime
+  syn keyword erlangNode       current_wall_clock distribution_port
+  syn keyword erlangNode       entry_points error_handler friends
+  syn keyword erlangNode       garbage_collection magic_cookie magic_cookies
+  syn keyword erlangNode       module_table monitored_nodes name next_ref
+  syn keyword erlangNode       ports preloaded processes reductions
+  syn keyword erlangNode       ref_state registry runtime wall_clock
+
+  " Reserved
+  syn keyword erlangReserved   apply_lambda module_info module_lambdas
+  syn keyword erlangReserved   record record_index record_info
+
+  " Extras
+  syn keyword erlangExtra      badarg nocookie
+
+  " Signals
+  syn keyword erlangSignal     badsig kill killed exit normal
+endif
+
+" Sync at the beginning of functions: if this is not used, multiline string
+" are not always recognized
+syn sync match erlangSync grouphere NONE "^[a-z]\s*("
+
+" 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_erlang_inits")
+  if version < 508
+    let did_erlang_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " erlang_characters
+  HiLink erlangComment Comment
+  HiLink erlangCommentAnnotation Special
+  HiLink erlangTodo Todo
+  HiLink erlangSeparator Normal
+  HiLink erlangOperator Operator
+  HiLink erlangRightArrow Operator
+
+  HiLink erlangStartString String
+  HiLink erlangString String
+  HiLink erlangStringModifier Special
+
+  HiLink erlangStartQuotedAtom Type
+  HiLink erlangQuotedAtom Type
+  HiLink erlangQuotedAtomModifier Special
+
+  HiLink erlangNumberInteger Number
+  HiLink erlangNumberFloat Float
+  HiLink erlangNumberHex Number
+
+  HiLink erlangModifier Special
+
+  " erlang_functions
+  HiLink erlangFCall Function
+  HiLink erlangBIF Function
+
+  " erlang_keywords
+  HiLink erlangDirective Type
+  HiLink erlangKeyword Keyword
+  HiLink erlangProcess Special
+  HiLink erlangPort Special
+  HiLink erlangNode Special
+  HiLink erlangReserved Statement
+  HiLink erlangExtra Statement
+  HiLink erlangSignal Statement
+
+  delcommand HiLink
+endif
+
+
+let b:current_syntax = "erlang"
+
+" vim: sw=2 et
diff --git a/runtime/syntax/sgmllnx.vim b/runtime/syntax/sgmllnx.vim
index 99e6ea2..28224f6 100644
--- a/runtime/syntax/sgmllnx.vim
+++ b/runtime/syntax/sgmllnx.vim
@@ -1,8 +1,7 @@
 " Vim syntax file
 " Language:	SGML-linuxdoc (supported by old sgmltools-1.x)
-"		(for more information, visit www.sgmltools.org)
 " Maintainer:	SungHyun Nam <goweol@gmail.com>
-" Last Change:	2008 Sep 17
+" Last Change:	2013 May 13
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -29,7 +28,7 @@
 syn keyword sgmllnxTagName contained article author date toc title sect verb
 syn keyword sgmllnxTagName contained abstract tscreen p itemize item enum
 syn keyword sgmllnxTagName contained descrip quote htmlurl code ref
-syn keyword sgmllnxTagName contained tt tag bf
+syn keyword sgmllnxTagName contained tt tag bf it url
 syn match   sgmllnxTagName contained "sect\d\+"
 
 " Comments
diff --git a/runtime/syntax/sisu.vim b/runtime/syntax/sisu.vim
index 4545ee8..23d7325 100644
--- a/runtime/syntax/sisu.vim
+++ b/runtime/syntax/sisu.vim
@@ -1,8 +1,8 @@
 " SiSU Vim syntax file
 " SiSU Maintainer: Ralph Amissah <ralph@amissah.com>
-" SiSU Markup:     SiSU (sisu-3.1.0)
-" Last Change:     2011-10-03
-" URL:             <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
+" SiSU Markup:     SiSU (sisu-4.0.9)
+" Last Change:     2013-02-22
+" URL (sisu-4.1.0): <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
 "(originally looked at Ruby Vim by Mirko Nasato)
 
 if version < 600
@@ -20,14 +20,9 @@
 "% "Markers Identifiers:
 if !exists("sisu_no_identifiers")
   syn match   sisu_mark_endnote                                           "\~^"
-  syn match   sisu_break               contains=@NoSpell                  " \\\\\( \|$\)"
-  syn match   sisu_break               contains=@NoSpell                  "<br>\|<br />"
-  syn match   sisu_control             contains=@NoSpell                  "^<:p[bn]>\s*$"
- "syn match   sisu_control             contains=@NoSpell                  "^<\(br\)\?:\(pg\|pgn\|pn\)>\s*$"
- "syn match   sisu_control             contains=@NoSpell                  "^\[\(br\)\?:\(pg\|pgn\|pn\)\]\s*$"
+  syn match   sisu_break               contains=@NoSpell                  " \\\\\( \|$\)\|<br>\|<br />"
+  syn match   sisu_control             contains=@NoSpell                  "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$"
   syn match   sisu_control             contains=@NoSpell                  "^<:\(bo\|---\)>\s*$"
- "syn match   sisu_control             contains=@NoSpell                  "^<\(br\)\?:\(pr\|o\)>\s*$"
- "syn match   sisu_control             contains=@NoSpell                  "^\[\(br\)\?:\(pr\|o\)\]\s*$"
   syn match   sisu_marktail                                               "[~-]#"
   syn match   sisu_control                                                "\""
   syn match   sisu_underline                                              "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)"
@@ -43,11 +38,12 @@
   syn match   sisu_sub_header_title                                       "^\s\+:\(subtitle\|short\|edition\|language\|lang_char\|note\):\s" "group=sisu_header_content
   syn match   sisu_sub_header_creator                                     "^\s\+:\(author\|editor\|contributor\|illustrator\|photographer\|translator\|digitized_by\|prepared_by\|audio\|video\):\s"                               " &hon &institution
   syn match   sisu_sub_header_rights                                      "^\s\+:\(copyright\|text\|translation\|illustrations\|photographs\|preparation\|digitization\|audio\|video\|license\|all\):\s"                   " access_rights license
-  syn match   sisu_sub_header_classify                                    "^\s\+:\(topic_register\|coverage\|format\|identifier\|keywords\|relation\|subject\|type\|dewey\|loc\|oclc\|pg\|isbn\):\s"
-  syn match   sisu_sub_header_date                                       "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
+  syn match   sisu_sub_header_classify                                    "^\s\+:\(topic_register\|keywords\|subject\|dewey\|loc\):\s"
+  syn match   sisu_sub_header_identifier                                  "^\s\+:\(oclc\|isbn\):\s"
+  syn match   sisu_sub_header_date                                        "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
   syn match   sisu_sub_header_original                                    "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s"
-  syn match   sisu_sub_header_make                                        "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|skin\|stamp\|promo\|ad\|manpage\):\s"
-  syn match   sisu_sub_header_notes                                       "^\s\+:\(abstract\|comment\|description\|history\|prefix\|prefix_[ab]\|suffix\):\s"
+  syn match   sisu_sub_header_make                                        "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|substitute\|omit\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|stamp\|promo\|ad\|manpage\|home_button_text\|home_button_image\|cover_image\|footer\):\s"
+  syn match   sisu_sub_header_notes                                       "^\s\+:\(description\|abstract\|comment\|coverage\|relation\|source\|history\|type\|format\|prefix\|prefix_[ab]\|suffix\):\s"
 
 "% "semantic markers: (ignore)
   syn match   sisu_sem_marker                                             ";{\|};[a-z._]*[a-z]"
@@ -85,6 +81,8 @@
 syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_rights matchgroup=sisu_header start="^[@]rights:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
 " classify document
 syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_classify matchgroup=sisu_header start="^[@]classify:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
+" identifier document
+syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_identifier matchgroup=sisu_header start="^[@]identifier:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
 " original language (depreciated)
 syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_original matchgroup=sisu_header start="^[@]original:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
 " notes
@@ -219,6 +217,7 @@
 hi def link sisu_sub_header_publisher  Statement
 hi def link sisu_sub_header_rights     Statement
 hi def link sisu_sub_header_classify   Statement
+hi def link sisu_sub_header_identifier Statement
 hi def link sisu_sub_header_original   Statement
 hi def link sisu_sub_header_links      Statement
 hi def link sisu_sub_header_notes      Statement
diff --git a/runtime/syntax/sqlanywhere.vim b/runtime/syntax/sqlanywhere.vim
index b0f9321..05b05c9 100644
--- a/runtime/syntax/sqlanywhere.vim
+++ b/runtime/syntax/sqlanywhere.vim
@@ -1,11 +1,11 @@
-
 " Vim syntax file
 " Language:    SQL, Adaptive Server Anywhere
 " Maintainer:  David Fishburn <dfishburn dot vim at gmail dot com>
-" Last Change: 2012 Jan 23
-" Version:     12.0.1
+" Last Change: 2013 May 13
+" Version:     16.0.0
 
-" Description: Updated to Adaptive Server Anywhere 12.0.1 (including spatial data)
+" Description: Updated to Adaptive Server Anywhere 16.0.0
+"              Updated to Adaptive Server Anywhere 12.0.1 (including spatial data)
 "              Updated to Adaptive Server Anywhere 11.0.1
 "              Updated to Adaptive Server Anywhere 10.0.1
 "              Updated to Adaptive Server Anywhere  9.0.2
@@ -27,33 +27,34 @@
 syn keyword sqlSpecial  false null true
 
 " common functions
-syn keyword sqlFunction	 count sum avg min max debug_eng isnull
-syn keyword sqlFunction	 greater lesser argn string ymd todate
-syn keyword sqlFunction	 totimestamp date today now utc_now
-syn keyword sqlFunction	 number identity years months weeks days
-syn keyword sqlFunction	 hours minutes seconds second minute hour
-syn keyword sqlFunction	 day month year dow date_format substr
-syn keyword sqlFunction	 substring byte_substr length byte_length
-syn keyword sqlFunction	 datalength ifnull evaluate list
-syn keyword sqlFunction	 soundex similar difference like_start
-syn keyword sqlFunction	 like_end regexp_compile
-syn keyword sqlFunction	 regexp_compile_patindex remainder abs
-syn keyword sqlFunction	 graphical_plan plan explanation ulplan
-syn keyword sqlFunction	 graphical_ulplan long_ulplan
-syn keyword sqlFunction	 short_ulplan rewrite watcomsql
-syn keyword sqlFunction	 transactsql dialect estimate
-syn keyword sqlFunction	 estimate_source index_estimate
-syn keyword sqlFunction	 experience_estimate traceback wsql_state
-syn keyword sqlFunction	 lang_message dateadd datediff datepart
-syn keyword sqlFunction	 datename dayname monthname quarter
-syn keyword sqlFunction	 tsequal hextoint inttohex rand textptr
-syn keyword sqlFunction	 rowid grouping stddev variance rank
-syn keyword sqlFunction	 dense_rank density percent_rank user_name
-syn keyword sqlFunction	 user_id str stuff char_length nullif
-syn keyword sqlFunction	 sortkey compare ts_index_statistics
-syn keyword sqlFunction	 ts_table_statistics isdate isnumeric
-syn keyword sqlFunction	 get_identity lookup newid uuidtostr
-syn keyword sqlFunction	 strtouuid varexists
+syn keyword sqlFunction  abs argn avg bintohex bintostr
+syn keyword sqlFunction  byte_length byte_substr char_length
+syn keyword sqlFunction  compare count count_big datalength date
+syn keyword sqlFunction  date_format dateadd datediff datename
+syn keyword sqlFunction  datepart day dayname days debug_eng
+syn keyword sqlFunction  dense_rank density dialect difference
+syn keyword sqlFunction  dow estimate estimate_source evaluate
+syn keyword sqlFunction  experience_estimate explanation
+syn keyword sqlFunction  get_identity graphical_plan
+syn keyword sqlFunction  graphical_ulplan greater grouping
+syn keyword sqlFunction  hextobin hextoint hour hours identity
+syn keyword sqlFunction  ifnull index_estimate inttohex isdate
+syn keyword sqlFunction  isencrypted isnull isnumeric
+syn keyword sqlFunction  lang_message length lesser like_end
+syn keyword sqlFunction  like_start list long_ulplan lookup max
+syn keyword sqlFunction  min minute minutes month monthname
+syn keyword sqlFunction  months newid now nullif number
+syn keyword sqlFunction  percent_rank plan quarter rand rank
+syn keyword sqlFunction  regexp_compile regexp_compile_patindex
+syn keyword sqlFunction  remainder rewrite rowid second seconds
+syn keyword sqlFunction  short_ulplan similar sortkey soundex
+syn keyword sqlFunction  stddev stack_trace str string strtobin strtouuid stuff
+syn keyword sqlFunction  subpartition substr substring sum switchoffset sysdatetimeoffset
+syn keyword sqlFunction  textptr todate todatetimeoffset today totimestamp traceback transactsql
+syn keyword sqlFunction  ts_index_statistics ts_table_statistics
+syn keyword sqlFunction  tsequal ulplan user_id user_name utc_now
+syn keyword sqlFunction  uuidtostr varexists variance watcomsql
+syn keyword sqlFunction  weeks wsql_state year years ymd
 
 " 9.0.1 functions
 syn keyword sqlFunction	 acos asin atan atn2 cast ceiling convert cos cot
@@ -473,31 +474,36 @@
 syn keyword sqlFunction  ST_ToPolygon
 syn keyword sqlFunction  ST_ToSurface
 
+" Array functions 16.x
+syn keyword sqlFunction	 array array_agg array_max_cardinality trim_array
+syn keyword sqlFunction	 error_line error_message error_procedure
+syn keyword sqlFunction	 error_sqlcode error_sqlstate error_stack_trace
+
 
 " keywords
-syn keyword sqlKeyword	 absolute accent action active add address admin aes_decrypt
-syn keyword sqlKeyword	 after aggregate algorithm allow_dup_row allow allowed alter 
-syn keyword sqlKeyword	 and angular ansi_substring any as append apply 
-syn keyword sqlKeyword	 arbiter asc ascii ase
-syn keyword sqlKeyword	 assign at atan2 atomic attended 
-syn keyword sqlKeyword	 audit auditing authorization axis
+syn keyword sqlKeyword	 absolute accent access account action active activate add address admin
+syn keyword sqlKeyword	 aes_decrypt after aggregate algorithm allow_dup_row allow allowed alter
+syn keyword sqlKeyword	 always and angular ansi_substring any as append apply
+syn keyword sqlKeyword	 arbiter array asc ascii ase
+syn keyword sqlKeyword	 assign at atan2 atomic attended
+syn keyword sqlKeyword	 audit auditing authentication authorization axis
 syn keyword sqlKeyword	 autoincrement autostop batch bcp before
 syn keyword sqlKeyword	 between bit_and bit_length bit_or bit_substr bit_xor
 syn keyword sqlKeyword	 blank blanks block
 syn keyword sqlKeyword	 both bottom unbounded breaker bufferpool
 syn keyword sqlKeyword	 build bulk by byte bytes cache calibrate calibration
-syn keyword sqlKeyword	 cancel capability cascade cast
-syn keyword sqlKeyword	 catalog ceil change changes char char_convert check checksum
-syn keyword sqlKeyword	 class classes client cmp
+syn keyword sqlKeyword	 cancel capability cardinality cascade cast
+syn keyword sqlKeyword	 catalog catch ceil change changes char char_convert
+syn keyword sqlKeyword	 check checkpointlog checksum class classes client cmp
 syn keyword sqlKeyword	 cluster clustered collation
 syn keyword sqlKeyword	 column columns
-syn keyword sqlKeyword	 command comments committed comparisons
+syn keyword sqlKeyword	 command comments committed commitid comparisons
 syn keyword sqlKeyword	 compatible component compressed compute computes
 syn keyword sqlKeyword	 concat configuration confirm conflict connection
 syn keyword sqlKeyword	 console consolidate consolidated
-syn keyword sqlKeyword	 constraint constraints content 
+syn keyword sqlKeyword	 constraint constraints content
 syn keyword sqlKeyword	 convert coordinate coordinator copy count count_set_bits
-syn keyword sqlKeyword	 crc createtime cross cube cume_dist
+syn keyword sqlKeyword	 crc createtime critical cross cube cume_dist
 syn keyword sqlKeyword	 current cursor data data database
 syn keyword sqlKeyword	 current_timestamp current_user cycle
 syn keyword sqlKeyword	 databases datatype dba dbfile
@@ -506,83 +512,86 @@
 syn keyword sqlKeyword	 definer definition
 syn keyword sqlKeyword	 delay deleting delimited dependencies desc
 syn keyword sqlKeyword	 description deterministic directory
-syn keyword sqlKeyword	 disable disabled disallow distinct do domain download duplicate
-syn keyword sqlKeyword	 dsetpass dttm dynamic each earth editproc ejb
-syn keyword sqlKeyword	 elimination ellipsoid
-syn keyword sqlKeyword	 else elseif empty enable encapsulated encrypted end
-syn keyword sqlKeyword	 encoding endif engine environment erase error escape escapes event
+syn keyword sqlKeyword	 disable disabled disallow distinct disksandbox disk_sandbox
+syn keyword sqlKeyword	 dn do domain download duplicate
+syn keyword sqlKeyword	 dsetpass dttm dynamic each earth editproc effective ejb
+syn keyword sqlKeyword	 elimination ellipsoid else elseif
+syn keyword sqlKeyword	 email empty enable encapsulated encrypted encryption end
+syn keyword sqlKeyword	 encoding endif engine environment erase error errors escape escapes event
 syn keyword sqlKeyword	 event_parameter every exception exclude excluded exclusive exec
 syn keyword sqlKeyword	 existing exists expanded expiry express exprtype extended_property
 syn keyword sqlKeyword	 external externlogin factor failover false
 syn keyword sqlKeyword	 fastfirstrow feature fieldproc file files filler
 syn keyword sqlKeyword	 fillfactor final finish first first_keyword first_value
 syn keyword sqlKeyword	 flattening
-syn keyword sqlKeyword	 following force foreign format forxml forxml_sep fp frame
-syn keyword sqlKeyword	 free freepage french fresh full function 
+syn keyword sqlKeyword	 following force foreign format forjson forxml forxml_sep fp frame
+syn keyword sqlKeyword	 free freepage french fresh full function
 syn keyword sqlKeyword	 gb generic get_bit go global grid
 syn keyword sqlKeyword	 group handler hash having header hexadecimal
 syn keyword sqlKeyword	 hidden high history hg hng hold holdlock host
 syn keyword sqlKeyword	 hours http_body http_session_timeout id identified identity ignore
 syn keyword sqlKeyword	 ignore_dup_key ignore_dup_row immediate
 syn keyword sqlKeyword	 in inactiv inactive inactivity included increment incremental
-syn keyword sqlKeyword	 index index_enabled index_lparen indexonly info
-syn keyword sqlKeyword	 inline inner inout insensitive inserting
-syn keyword sqlKeyword	 instead integrated
-syn keyword sqlKeyword	 internal intersection into introduced inverse invoker 
+syn keyword sqlKeyword	 index index_enabled index_lparen indexonly info information
+syn keyword sqlKeyword	 inheritance inline inner inout insensitive inserting
+syn keyword sqlKeyword	 instead
+syn keyword sqlKeyword	 internal intersection into introduced inverse invoker
 syn keyword sqlKeyword	 iq is isolation
 syn keyword sqlKeyword	 jar java java_location java_main_userid java_vm_options
-syn keyword sqlKeyword	 jconnect jdk join kb key keep kerberos language last
+syn keyword sqlKeyword	 jconnect jdk join json kb key keys keep language last
 syn keyword sqlKeyword	 last_keyword last_value lateral latitude
-syn keyword sqlKeyword	 ld left len linear lf ln level like
-syn keyword sqlKeyword	 limit local location log 
+syn keyword sqlKeyword	 ld ldap left len linear lf ln level like
+syn keyword sqlKeyword	 limit local location log
 syn keyword sqlKeyword	 logging logical login logscan long longitude low lru ls
-syn keyword sqlKeyword	 main major manual mark
-syn keyword sqlKeyword	 match matched materialized max maxvalue maximum mb measure membership
-syn keyword sqlKeyword	 merge metadata methods minimum minor minutes minvalue mirror 
-syn keyword sqlKeyword	 mode modify monitor move mru multiplex 
-syn keyword sqlKeyword	 name named namespaces national native natural new next nextval 
+syn keyword sqlKeyword	 main major manage manual mark master
+syn keyword sqlKeyword	 match matched materialized max maxvalue maximum mb measure median membership
+syn keyword sqlKeyword	 merge metadata methods migrate minimum minor minutes minvalue mirror
+syn keyword sqlKeyword	 mode modify monitor move mru multiplex
+syn keyword sqlKeyword	 name named namespaces national native natural new next nextval
 syn keyword sqlKeyword	 ngram no noholdlock nolock nonclustered none normal not
-syn keyword sqlKeyword	 notify null nullable_constant nulls 
-syn keyword sqlKeyword	 object oem_string of off offline offset olap
+syn keyword sqlKeyword	 notify null nullable_constant nulls
+syn keyword sqlKeyword	 object objects oem_string of off offline offset olap
 syn keyword sqlKeyword	 old on online only openstring operator
 syn keyword sqlKeyword	 optimization optimizer option
-syn keyword sqlKeyword	 or order organization others out outer over
+syn keyword sqlKeyword	 or order ordinality organization others out outer over owner
 syn keyword sqlKeyword	 package packetsize padding page pages
-syn keyword sqlKeyword	 paglock parallel parameter parent part 
-syn keyword sqlKeyword	 partition partitions partner password path pctfree 
-syn keyword sqlKeyword	 perms plan planar policy polygon populate port postfilter preceding 
+syn keyword sqlKeyword	 paglock parallel parameter parent part partial
+syn keyword sqlKeyword	 partition partitions partner password path pctfree
+syn keyword sqlKeyword	 permissions perms plan planar policy polygon populate port postfilter preceding
 syn keyword sqlKeyword	 precisionprefetch prefilter prefix preserve preview previous
-syn keyword sqlKeyword	 primary prior priority priqty private privileges procedure profile
+syn keyword sqlKeyword	 primary prior priority priqty private privilege privileges procedure profile profiling
 syn keyword sqlKeyword	 property_is_cumulative property_is_numeric public publication publish publisher
 syn keyword sqlKeyword	 quiesce quote quotes range readclientfile readcommitted reader readfile readonly
 syn keyword sqlKeyword	 readpast readuncommitted readwrite rebuild
 syn keyword sqlKeyword	 received recompile recover recursive references
 syn keyword sqlKeyword	 referencing regex regexp regexp_substr relative relocate
-syn keyword sqlKeyword	 rename repeatable repeatableread replicate 
+syn keyword sqlKeyword	 rename repeatable repeatableread replicate replication
 syn keyword sqlKeyword	 requests request_timeout required rereceive resend reserve reset
 syn keyword sqlKeyword	 resizing resolve resource respect restart
-syn keyword sqlKeyword	 restrict result retain
-syn keyword sqlKeyword	 returns reverse right role
-syn keyword sqlKeyword	 rollup root row row_number rowlock rows 
+syn keyword sqlKeyword	 restrict result retain retries
+syn keyword sqlKeyword	 returns reverse right role roles
+syn keyword sqlKeyword	 rollup root row row_number rowlock rows rowtype
 syn keyword sqlKeyword	 sa_index_hash sa_internal_fk_verify sa_internal_termbreak
 syn keyword sqlKeyword	 sa_order_preserving_hash sa_order_preserving_hash_big sa_order_preserving_hash_prefix
-syn keyword sqlKeyword	 scale schedule schema scope scripted scroll seconds secqty security
+syn keyword sqlKeyword	 sa_file_free_pages sa_internal_type_from_catalog sa_internal_valid_hash
+syn keyword sqlKeyword	 sa_internal_validate_value sa_json_element
+syn keyword sqlKeyword	 scale schedule schema scope script scripted scroll search seconds secqty security
 syn keyword sqlKeyword	 semi send sensitive sent sequence serializable
-syn keyword sqlKeyword	 server server session set_bit set_bits sets
+syn keyword sqlKeyword	 server severity session set_bit set_bits sets
 syn keyword sqlKeyword	 shapefile share side simple since site size skip
-syn keyword sqlKeyword	 snap snapshot soapheader soap_header 
+syn keyword sqlKeyword	 snap snapshot soapheader soap_header
 syn keyword sqlKeyword	 spatial split some sorted_data
 syn keyword sqlKeyword	 sql sqlcode sqlid sqlflagger sqlstate sqrt square
-syn keyword sqlKeyword	 stacker stale statement statistics status stddev_pop stddev_samp
+syn keyword sqlKeyword	 stacker stale state statement statistics status stddev_pop stddev_samp
 syn keyword sqlKeyword	 stemmer stogroup stoplist storage store
 syn keyword sqlKeyword	 strip stripesizekb striping subpages subscribe subscription
-syn keyword sqlKeyword	 subtransaction suser_id suser_name synchronization
+syn keyword sqlKeyword	 subtransaction suser_id suser_name suspend synchronization
 syn keyword sqlKeyword	 syntax_error table tables tablock
-syn keyword sqlKeyword	 tablockx tb temp template temporary term then ties 
-syn keyword sqlKeyword	 timezone timeout to to_char to_nchar tolerance top
-syn keyword sqlKeyword	 traced_plan tracing
-syn keyword sqlKeyword	 transfer transform transaction transactional treat tries 
-syn keyword sqlKeyword	 true tsequal type tune uncommitted unconditionally
+syn keyword sqlKeyword	 tablockx target tb temp template temporary term then ties
+syn keyword sqlKeyword	 timezone timeout tls to to_char to_nchar tolerance top
+syn keyword sqlKeyword	 trace traced_plan tracing
+syn keyword sqlKeyword	 transfer transform transaction transactional treat tries
+syn keyword sqlKeyword	 true try tsequal type tune uncommitted unconditionally
 syn keyword sqlKeyword	 unenforced unicode unique unistr unit unknown unlimited unload
 syn keyword sqlKeyword	 unpartition unquiesce updatetime updating updlock upgrade upload
 syn keyword sqlKeyword	 upper usage use user
@@ -593,14 +602,14 @@
 syn keyword sqlKeyword	 warning wd web when where with with_auto
 syn keyword sqlKeyword	 with_auto with_cube with_rollup without
 syn keyword sqlKeyword	 with_lparen within word work workload write writefile
-syn keyword sqlKeyword	 writeclientfile writer writers writeserver xlock 
-syn keyword sqlKeyword	 zeros zone
-" XML 
+syn keyword sqlKeyword	 writeclientfile writer writers writeserver xlock
+syn keyword sqlKeyword	 war xml zeros zone
+" XML
 syn keyword sqlKeyword	 raw auto elements explicit
 " HTTP support
 syn keyword sqlKeyword	 authorization secure url service next_soap_header
 " HTTP 9.0.2 new procedure keywords
-syn keyword sqlKeyword	 namespace certificate clientport proxy
+syn keyword sqlKeyword	 namespace certificate certificates clientport proxy trusted_certificates_file
 " OLAP support 9.0.0
 syn keyword sqlKeyword	 covar_pop covar_samp corr regr_slope regr_intercept
 syn keyword sqlKeyword	 regr_count regr_r2 regr_avgx regr_avgy
@@ -610,6 +619,10 @@
 syn keyword sqlKeyword	 character dec options proc reference
 syn keyword sqlKeyword	 subtrans tran syn keyword
 
+" Login Mode Options
+syn keyword sqlKeywordLogin	 standard integrated kerberos LDAPUA
+syn keyword sqlKeywordLogin	 cloudadmin mixed
+
 " Spatial Predicates
 syn keyword sqlKeyword   ST_Contains
 syn keyword sqlKeyword   ST_ContainsFilter
@@ -692,9 +705,9 @@
 syn keyword sqlOperator	 in any some all between exists
 syn keyword sqlOperator	 like escape not is and or
 syn keyword sqlOperator  minus
-syn keyword sqlOperator  prior distinct
+syn keyword sqlOperator  prior distinct unnest
 
-syn keyword sqlStatement allocate alter attach backup begin break call case
+syn keyword sqlStatement allocate alter attach backup begin break call case catch
 syn keyword sqlStatement checkpoint clear close comment commit configure connect
 syn keyword sqlStatement continue create deallocate declare delete describe
 syn keyword sqlStatement detach disconnect drop except execute exit explain fetch
@@ -705,7 +718,7 @@
 syn keyword sqlStatement remote remove reorganize resignal restore resume
 syn keyword sqlStatement return revoke rollback save savepoint select
 syn keyword sqlStatement set setuser signal start stop synchronize
-syn keyword sqlStatement system trigger truncate union unload update
+syn keyword sqlStatement system trigger truncate try union unload update
 syn keyword sqlStatement validate waitfor whenever while window writetext
 
 
@@ -715,7 +728,7 @@
 syn keyword sqlType	 smallint tinyint real
 syn keyword sqlType	 money smallmoney
 syn keyword sqlType	 date datetime datetimeoffset smalldatetime time timestamp
-syn keyword sqlType	 binary image varbinary uniqueidentifier
+syn keyword sqlType	 binary image varray varbinary uniqueidentifier
 syn keyword sqlType	 unsigned
 " Spatial types
 syn keyword sqlType	 st_geometry st_point st_curve st_surface st_geomcollection
@@ -736,8 +749,10 @@
 syn keyword sqlOption    Ansinull
 syn keyword sqlOption    Auditing
 syn keyword sqlOption    Auditing_options
+syn keyword sqlOption    Auto_commit_on_create_local_temp_index
 syn keyword sqlOption    Background_priority
 syn keyword sqlOption    Blocking
+syn keyword sqlOption    Blocking_others_timeout
 syn keyword sqlOption    Blocking_timeout
 syn keyword sqlOption    Chained
 syn keyword sqlOption    Checkpoint_time
@@ -754,6 +769,7 @@
 syn keyword sqlOption    Database_authentication
 syn keyword sqlOption    Date_format
 syn keyword sqlOption    Date_order
+syn keyword sqlOption    db_publisher
 syn keyword sqlOption    Debug_messages
 syn keyword sqlOption    Dedicated_task
 syn keyword sqlOption    Default_dbspace
@@ -764,14 +780,18 @@
 syn keyword sqlOption    Escape_character
 syn keyword sqlOption    Exclude_operators
 syn keyword sqlOption    Extended_join_syntax
+syn keyword sqlOption    Extern_login_credentials
 syn keyword sqlOption    Fire_triggers
 syn keyword sqlOption    First_day_of_week
 syn keyword sqlOption    For_xml_null_treatment
 syn keyword sqlOption    Force_view_creation
 syn keyword sqlOption    Global_database_id
 syn keyword sqlOption    Http_session_timeout
+syn keyword sqlOption    Http_connection_pool_basesize
+syn keyword sqlOption    Http_connection_pool_timeout
 syn keyword sqlOption    Integrated_server_name
 syn keyword sqlOption    Isolation_level
+syn keyword sqlOption    Java_class_path
 syn keyword sqlOption    Java_location
 syn keyword sqlOption    Java_main_userid
 syn keyword sqlOption    Java_vm_options
@@ -790,6 +810,7 @@
 syn keyword sqlOption    Max_statement_count
 syn keyword sqlOption    Max_temp_space
 syn keyword sqlOption    Min_password_length
+syn keyword sqlOption    Min_role_admins
 syn keyword sqlOption    Nearest_century
 syn keyword sqlOption    Non_keywords
 syn keyword sqlOption    Odbc_describe_binary_as_varbinary
@@ -807,6 +828,7 @@
 syn keyword sqlOption    Preserve_source_format
 syn keyword sqlOption    Prevent_article_pkey_update
 syn keyword sqlOption    Priority
+syn keyword sqlOption    Progress_messages
 syn keyword sqlOption    Query_mem_timeout
 syn keyword sqlOption    Quoted_identifier
 syn keyword sqlOption    Read_past_deleted
@@ -814,6 +836,7 @@
 syn keyword sqlOption    Remote_idle_timeout
 syn keyword sqlOption    Replicate_all
 syn keyword sqlOption    Request_timeout
+syn keyword sqlOption    Reserved_keywords
 syn keyword sqlOption    Return_date_time_as_string
 syn keyword sqlOption    Rollback_on_deadlock
 syn keyword sqlOption    Row_counts
@@ -823,6 +846,12 @@
 syn keyword sqlOption    Sql_flagger_error_level
 syn keyword sqlOption    Sql_flagger_warning_level
 syn keyword sqlOption    String_rtruncation
+syn keyword sqlOption    st_geometry_asbinary_format
+syn keyword sqlOption    st_geometry_astext_format
+syn keyword sqlOption    st_geometry_asxml_format
+syn keyword sqlOption    st_geometry_describe_type
+syn keyword sqlOption    st_geometry_interpolation
+syn keyword sqlOption    st_geometry_on_invalid
 syn keyword sqlOption    Subsume_row_locks
 syn keyword sqlOption    Suppress_tds_debugging
 syn keyword sqlOption    Synchronize_mirror_on_commit
@@ -831,6 +860,7 @@
 syn keyword sqlOption    Time_format
 syn keyword sqlOption    Time_zone_adjustment
 syn keyword sqlOption    Timestamp_format
+syn keyword sqlOption    Timestamp_with_time_zone_format
 syn keyword sqlOption    Truncate_timestamp_values
 syn keyword sqlOption    Tsql_outer_joins
 syn keyword sqlOption    Tsql_variables
@@ -842,6 +872,7 @@
 syn keyword sqlOption    Verify_password_function
 syn keyword sqlOption    Wait_for_commit
 syn keyword sqlOption    Webservice_namespace_host
+syn keyword sqlOption    Webservice_sessionid_name
 
 " Strings and characters:
 syn region sqlString		start=+"+    end=+"+ contains=@Spell
@@ -859,32 +890,18 @@
 syn sync ccomment sqlDashComment
 syn sync ccomment sqlSlashComment
 
-" 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_sql_syn_inits")
-    if version < 508
-        let did_sql_syn_inits = 1
-        command -nargs=+ HiLink hi link <args>
-    else
-        command -nargs=+ HiLink hi link <args>
-    endif
-
-    HiLink sqlDashComment	Comment
-    HiLink sqlSlashComment	Comment
-    HiLink sqlMultiComment	Comment
-    HiLink sqlNumber	        Number
-    HiLink sqlOperator	        Operator
-    HiLink sqlSpecial	        Special
-    HiLink sqlKeyword	        Keyword
-    HiLink sqlStatement	        Statement
-    HiLink sqlString	        String
-    HiLink sqlType	        Type
-    HiLink sqlFunction	        Function
-    HiLink sqlOption	        PreProc
-
-    delcommand HiLink
-endif
+hi def link sqlDashComment	Comment
+hi def link sqlSlashComment	Comment
+hi def link sqlMultiComment	Comment
+hi def link sqlNumber	        Number
+hi def link sqlOperator	        Operator
+hi def link sqlSpecial	        Special
+hi def link sqlKeyword	        Keyword
+hi def link sqlStatement	Statement
+hi def link sqlString	        String
+hi def link sqlType	        Type
+hi def link sqlFunction	        Function
+hi def link sqlOption	        PreProc
 
 let b:current_syntax = "sqlanywhere"