diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS
index 4b0d93a..f0d11a3 100644
--- a/.github/MAINTAINERS
+++ b/.github/MAINTAINERS
@@ -562,6 +562,7 @@
 runtime/syntax/nix.vim			@equill
 runtime/syntax/nroff.vim		@jmarshall
 runtime/syntax/nsis.vim			@k-takata
+runtime/syntax/omnimark.vim @kennypete
 runtime/syntax/ondir.vim		@jparise
 runtime/syntax/opencl.vim		@Freed-Wu
 runtime/syntax/openvpn.vim		@ObserverOfTime
diff --git a/runtime/syntax/omnimark.vim b/runtime/syntax/omnimark.vim
index 6294945..9b12d5e 100644
--- a/runtime/syntax/omnimark.vim
+++ b/runtime/syntax/omnimark.vim
@@ -1,106 +1,833 @@
-" Vim syntax file
-" Language:	Omnimark
-" Maintainer:	Paul Terray <mailto:terray@4dconcept.fr>
-" Last Change:	11 Oct 2000
-
-" quit when a syntax file was already loaded
+vim9script
+# Vim syntax file
+# Language:    OmniMark
+# Maintainer:  Peter Kenny <kennypete.t2o3y@aleeas.com>
+# Previous Maintainer: Paul Terray <mailto:terray@4dconcept.fr>
+# Last Change: 2025-03-23
+# License:     Vim (see :help license)
+# History:     2000-10-11 Vintage minimal syntax file (Paul Terray)
+#
+# - Syntax is grouped, generally, by type (action to rule), using the
+#   version 12 headings.  Refer:
+#   https://developers.stilo.com/docs/html/keyword/type.html
+# - Deprecated/legacy syntax back to version 4 is included.
+# - OmniMark is largely case insensitive, with handled exceptions (e.g., %g)
+# ----------------------------------------------------------------------------
+syntax case ignore
+# Current syntax exists: finish {{{
 if exists("b:current_syntax")
   finish
 endif
-
-setlocal iskeyword=@,48-57,_,128-167,224-235,-
-
-syn keyword omnimarkKeywords	ACTIVATE AGAIN
-syn keyword omnimarkKeywords	CATCH CLEAR CLOSE COPY COPY-CLEAR CROSS-TRANSLATE
-syn keyword omnimarkKeywords	DEACTIVATE DECLARE DECREMENT DEFINE DISCARD DIVIDE DO DOCUMENT-END DOCUMENT-START DONE DTD-START
-syn keyword omnimarkKeywords	ELEMENT ELSE ESCAPE EXIT
-syn keyword omnimarkKeywords	FAIL FIND FIND-END FIND-START FORMAT
-syn keyword omnimarkKeywords	GROUP
-syn keyword omnimarkKeywords	HALT HALT-EVERYTHING
-syn keyword omnimarkKeywords	IGNORE IMPLIED INCLUDE INCLUDE-END INCLUDE-START INCREMENT INPUT
-syn keyword omnimarkKeywords	JOIN
-syn keyword omnimarkKeywords	LINE-END LINE-START LOG LOOKAHEAD
-syn keyword omnimarkKeywords	MACRO
-syn keyword omnimarkKeywords	MACRO-END MARKED-SECTION MARKUP-COMMENT MARKUP-ERROR MARKUP-PARSER MASK MATCH MINUS MODULO
-syn keyword omnimarkKeywords	NEW NEWLINE NEXT
-syn keyword omnimarkKeywords	OPEN OUTPUT OUTPUT-TO OVER
-syn keyword omnimarkKeywords	PROCESS PROCESS-END PROCESS-START PROCESSING-INSTRUCTION PROLOG-END PROLOG-IN-ERROR PUT
-syn keyword omnimarkKeywords	REMOVE REOPEN REPEAT RESET RETHROW RETURN
-syn keyword omnimarkKeywords	WHEN WHITE-SPACE
-syn keyword omnimarkKeywords	SAVE SAVE-CLEAR SCAN SELECT SET SGML SGML-COMMENT SGML-DECLARATION-END SGML-DTD SGML-DTDS SGML-ERROR SGML-IN SGML-OUT SGML-PARSE SGML-PARSER SHIFT SUBMIT SUCCEED SUPPRESS
-syn keyword omnimarkKeywords	SYSTEM-CALL
-syn keyword omnimarkKeywords	TEST-SYSTEM THROW TO TRANSLATE
-syn keyword omnimarkKeywords	UC UL UNLESS UP-TRANSLATE
-syn keyword omnimarkKeywords	XML-PARSE
-
-syn keyword omnimarkCommands	ACTIVE AFTER ANCESTOR AND ANOTHER ARG AS ATTACHED ATTRIBUTE ATTRIBUTES
-syn keyword omnimarkCommands	BASE BEFORE BINARY BINARY-INPUT BINARY-MODE BINARY-OUTPUT BREAK-WIDTH BUFFER BY
-syn keyword omnimarkCommands	CASE CHILDREN CLOSED COMPILED-DATE COMPLEMENT CONREF CONTENT CONTEXT-TRANSLATE COUNTER CREATED CREATING CREATOR CURRENT
-syn keyword omnimarkCommands	DATA-ATTRIBUTE DATA-ATTRIBUTES DATA-CONTENT DATA-LETTERS DATE DECLARED-CONREF DECLARED-CURRENT DECLARED-DEFAULTED DECLARED-FIXED DECLARED-IMPLIED DECLARED-REQUIRED
-syn keyword omnimarkCommands	DEFAULT-ENTITY DEFAULTED DEFAULTING DELIMITER DIFFERENCE DIRECTORY DOCTYPE DOCUMENT DOCUMENT-ELEMENT DOMAIN-FREE DOWN-TRANSLATE DTD DTD-END DTDS
-syn keyword omnimarkCommands	ELEMENTS ELSEWHERE EMPTY ENTITIES ENTITY EPILOG-START EQUAL EXCEPT EXISTS EXTERNAL EXTERNAL-DATA-ENTITY EXTERNAL-ENTITY EXTERNAL-FUNCTION EXTERNAL-OUTPUT-FUNCTION
-syn keyword omnimarkCommands	EXTERNAL-TEXT-ENTITY
-syn keyword omnimarkCommands	FALSE FILE FUNCTION FUNCTION-LIBRARY
-syn keyword omnimarkCommands	GENERAL GLOBAL GREATER-EQUAL GREATER-THAN GROUPS
-syn keyword omnimarkCommands	HAS HASNT HERALDED-NAMES
-syn keyword omnimarkCommands	ID ID-CHECKING IDREF IDREFS IN IN-LIBRARY INCLUSION INITIAL INITIAL-SIZE INSERTION-BREAK INSTANCE INTERNAL INVALID-DATA IS ISNT ITEM
-syn keyword omnimarkCommands	KEY KEYED
-syn keyword omnimarkCommands	LAST LASTMOST LC LENGTH LESS-EQUAL LESS-THAN LETTERS LIBRARY LITERAL LOCAL
-syn keyword omnimarkCommands	MATCHES MIXED MODIFIABLE
-syn keyword omnimarkCommands	NAME NAME-LETTERS NAMECASE NAMED NAMES NDATA-ENTITY NEGATE NESTED-REFERENTS NMTOKEN NMTOKENS NO NO-DEFAULT-IO NON-CDATA NON-IMPLIED NON-SDATA NOT NOTATION NUMBER-OF NUMBERS
-syn keyword omnimarkCommands	NUTOKEN NUTOKENS
-syn keyword omnimarkCommands	OCCURRENCE OF OPAQUE OPTIONAL OR
-syn keyword omnimarkCommands	PARAMETER PARENT PAST PATTERN PLUS PREPARENT PREVIOUS PROPER PUBLIC
-syn keyword omnimarkCommands	READ-ONLY READABLE REFERENT REFERENTS REFERENTS-ALLOWED REFERENTS-DISPLAYED REFERENTS-NOT-ALLOWED REMAINDER REPEATED REPLACEMENT-BREAK REVERSED
-syn keyword omnimarkCommands	SILENT-REFERENT SIZE SKIP SOURCE SPECIFIED STATUS STREAM SUBDOC-ENTITY SUBDOCUMENT SUBDOCUMENTS SUBELEMENT SWITCH SYMBOL SYSTEM
-syn keyword omnimarkCommands	TEXT-MODE THIS TIMES TOKEN TRUE
-syn keyword omnimarkCommands	UNANCHORED UNATTACHED UNION USEMAP USING
-syn keyword omnimarkCommands	VALUE VALUED VARIABLE
-syn keyword omnimarkCommands	WITH WRITABLE
-syn keyword omnimarkCommands	XML XML-DTD XML-DTDS
-syn keyword omnimarkCommands	YES
-syn keyword omnimarkCommands	#ADDITIONAL-INFO #APPINFO #CAPACITY #CHARSET #CLASS #COMMAND-LINE-NAMES #CONSOLE #CURRENT-INPUT #CURRENT-OUTPUT #DATA #DOCTYPE #DOCUMENT #DTD #EMPTY #ERROR #ERROR-CODE
-syn keyword omnimarkCommands	#FILE-NAME #FIRST #GROUP #IMPLIED #ITEM #LANGUAGE-VERSION #LAST #LIBPATH #LIBRARY #LIBVALUE #LINE-NUMBER #MAIN-INPUT #MAIN-OUTPUT #MARKUP-ERROR-COUNT #MARKUP-ERROR-TOTAL
-syn keyword omnimarkCommands	#MARKUP-PARSER #MARKUP-WARNING-COUNT #MARKUP-WARNING-TOTAL #MESSAGE #NONE #OUTPUT #PLATFORM-INFO #PROCESS-INPUT #PROCESS-OUTPUT #RECOVERY-INFO #SGML #SGML-ERROR-COUNT
-syn keyword omnimarkCommands	#SGML-ERROR-TOTAL #SGML-WARNING-COUNT #SGML-WARNING-TOTAL #SUPPRESS #SYNTAX #!
-
-syn keyword omnimarkPatterns	ANY ANY-TEXT
-syn keyword omnimarkPatterns	BLANK
-syn keyword omnimarkPatterns	CDATA CDATA-ENTITY CONTENT-END CONTENT-START
-syn keyword omnimarkPatterns	DIGIT
-syn keyword omnimarkPatterns	LETTER
-syn keyword omnimarkPatterns	NUMBER
-syn keyword omnimarkPatterns	PCDATA
-syn keyword omnimarkPatterns	RCDATA
-syn keyword omnimarkPatterns	SDATA SDATA-ENTITY SPACE
-syn keyword omnimarkPatterns	TEXT
-syn keyword omnimarkPatterns	VALUE-END VALUE-START
-syn keyword omnimarkPatterns	WORD-END WORD-START
-
-syn region  omnimarkComment	start=";" end="$"
-
-" strings
-syn region  omnimarkString		matchgroup=Normal start=+'+  end=+'+ skip=+%'+ contains=omnimarkEscape
-syn region  omnimarkString		matchgroup=Normal start=+"+  end=+"+ skip=+%"+ contains=omnimarkEscape
-syn match  omnimarkEscape contained +%.+
-syn match  omnimarkEscape contained +%[0-9][0-9]#+
-
-"syn sync maxlines=100
-syn sync minlines=2000
-
-" Define the default highlighting.
-" Only when an item doesn't have highlighting yet
-
-hi def link omnimarkCommands		Statement
-hi def link omnimarkKeywords		Identifier
-hi def link omnimarkString		String
-hi def link omnimarkPatterns		Macro
-"  hi def link omnimarkNumber			Number
-hi def link omnimarkComment		Comment
-hi def link omnimarkEscape		Special
-
-
-let b:current_syntax = "omnimark"
-
-" vim: ts=8
-
+# }}}
+# Keyword characters {{{
+# 	!#%&*+-/0123456789<=>@
+# 	ABCDEFGHIJKLMNOPQRSTUVWXYZ
+# 	\_abcdefghijklmnopqrstuvwxyz|~
+setlocal iskeyword=33,35,37-38,42-43,45,47-57,60-62,64-90,92,95,97-122,124,126
+# }}}
+# _ action {{{
+syntax keyword omnimarkAction activate
+syntax keyword omnimarkAction assert
+syntax keyword omnimarkAction clear
+syntax keyword omnimarkAction close
+syntax keyword omnimarkAction collect-garbage
+syntax match omnimarkAction "\v\c<%(copy)%(-clear)?"
+syntax keyword omnimarkAction deactivate
+syntax keyword omnimarkAction decrement
+syntax keyword omnimarkAction discard
+syntax keyword omnimarkAction flush
+syntax match omnimarkAction "\v\c<%(halt)%(-everything)?"
+syntax keyword omnimarkAction increment
+syntax keyword omnimarkAction log
+syntax keyword omnimarkAction log-message
+syntax keyword omnimarkAction match
+syntax keyword omnimarkAction new
+  # new takes before and after (as in new x{"wilma"} after [2])
+  syntax keyword omnimarkAction after
+  syntax keyword omnimarkAction before
+# This is the only way 'next' is used (and it cannot be 'isnt'):
+syntax match omnimarkAction "\v\c<%(next\s+group\s+is)"
+syntax keyword omnimarkAction not-reached
+syntax keyword omnimarkAction open
+syntax match omnimarkAction "\v\c<%(output)%(-to)?"
+syntax keyword omnimarkAction put
+# When alone, 'referent' is nearly always 'put...referent,' which is an action
+syntax keyword omnimarkAction referent
+syntax match omnimarkAction "\v\c<%(remove)%(\s+key\s+of)?"
+syntax keyword omnimarkAction reopen
+syntax keyword omnimarkAction reset
+syntax keyword omnimarkAction return
+# 'scan' because it can start a line in a block of 'do *-parse ... done'
+syntax keyword omnimarkAction scan
+syntax match omnimarkAction "\v\c<%(set)%(\s+%(buffer|creator\s+of|external-function|file|function-library|key\s+of|new|referent|stream))?"
+syntax keyword omnimarkAction sgml-in
+syntax keyword omnimarkAction sgml-out
+syntax keyword omnimarkAction signal
+syntax keyword omnimarkAction submit
+syntax keyword omnimarkAction suppress
+syntax keyword omnimarkAction throw
+syntax keyword omnimarkAction void
+# }}}
+# _ built-in data type {{{
+# attribute-declaration: Every attribute-declaration instance has two
+#                        properties: attribute-default-declaration and
+#                                    attribute-value-declaration
+# attribute-default-declaration: is the abstract type of declared defaults for
+#                                unspecified attribute values. Its concrete
+#                                instances can be obtained with the following
+#                                four constants:
+syntax keyword omnimarkConstant attribute-declared-conref
+syntax keyword omnimarkConstant attribute-declared-current
+syntax keyword omnimarkConstant attribute-declared-implied
+syntax keyword omnimarkConstant attribute-declared-required
+#                                and with two operators which take a string
+#                                default value argument:
+syntax match omnimarkOperator "\v\c<%(attribute-declared-defaulted\s+to)"
+syntax match omnimarkOperator "\v\c<%(attribute-declared-fixed to)"
+# attribute-value-declaration: is the abstract type of values that an
+#                              attribute is declared to accept. Its concrete
+#                              instances can be obtained with the following
+#                              constants:
+syntax match omnimarkConstant "\v\c<%(attribute-declared-fixed to)"
+syntax keyword omnimarkConstant attribute-declared-id
+syntax keyword omnimarkConstant attribute-declared-idref
+syntax keyword omnimarkConstant attribute-declared-idrefs
+syntax keyword omnimarkConstant attribute-declared-name
+syntax keyword omnimarkConstant attribute-declared-names
+syntax keyword omnimarkConstant attribute-declared-nmtoken
+syntax keyword omnimarkConstant attribute-declared-nmtokens
+syntax keyword omnimarkConstant attribute-declared-number
+syntax keyword omnimarkConstant attribute-declared-numbers
+syntax keyword omnimarkConstant attribute-declared-nutoken
+syntax keyword omnimarkConstant attribute-declared-nutokens
+#                              and with one operator that takes a string shelf
+#                              argument listing all the values allowed for the
+#                              attribute:
+syntax keyword omnimarkOperator attribute-declared-group
+# content-model - the following six constants are the only possible values:
+syntax keyword omnimarkConstant any-content-model
+syntax keyword omnimarkConstant cdata-content-model
+syntax keyword omnimarkConstant element-content-model
+syntax keyword omnimarkConstant empty-content-model
+syntax keyword omnimarkConstant mixed-content-model
+syntax keyword omnimarkConstant rcdata-content-model
+# refer also:
+# developers.stilo.com/docs/html/keyword/create-element-declaration.html
+#
+# declared-attribute is and abstract type with subtypes:
+#                             implied-attribute
+#                             specified-attribute
+# dtd abstract data type has subtypes:
+#                             sgml-dtd
+#                             xml-dtd
+# element-declaration
+# entity-declaration
+# markup-element-event
+# markup-event has subtypes:
+#                             markup-point-event
+#                             markup-region-event
+# }}}
+# _ built-in entity {{{
+syntax match omnimarkBuiltinEntity "\v\c<%(#capacity)"
+syntax match omnimarkBuiltinEntity "\v\c<%(#charset)"
+syntax match omnimarkBuiltinEntity "\v\c<%(#document)"
+syntax match omnimarkBuiltinEntity "\v\c<%(#dtd)"
+syntax match omnimarkBuiltinEntity "\v\c<%(#implied)"
+syntax match omnimarkBuiltinEntity "\v\c<%(#schema)"
+syntax match omnimarkBuiltinEntity "\v\c<%(#syntax)"
+# }}}
+# _ built-in shelf {{{
+syntax match omnimarkBuiltinShelf "\v\c<%(#additional-info)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#appinfo)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#args)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#class)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#command-line-names)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#console)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#content)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#current-dtd)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#current-input)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#current-markup-event)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#current-output)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#doctype)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#error)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#error-code)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#file-name)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#language-version)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#libpath)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#library)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#libvalue)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#line-number)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#log)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#main-input)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#main-output)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#markup-error-count)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#markup-error-total)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#markup-parser)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#markup-warning-count)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#markup-warning-total)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#message)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#output)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#platform-info)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#process-input)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#process-output)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#recovery-info)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#sgml)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-error-count)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-error-total)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-warning-count)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#sgml-warning-total)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#suppress)"
+syntax match omnimarkBuiltinShelf "\v\c<%(#xmlns-names)"
+syntax keyword omnimarkBuiltinShelf attributes
+syntax match omnimarkBuiltinShelf "\v\c<%(current)%(\s+%(element%(s)?|dtd|sgml-dtd))"
+syntax keyword omnimarkBuiltinShelf data-attributes
+syntax keyword omnimarkBuiltinShelf referents
+syntax keyword omnimarkBuiltinShelf sgml-dtds
+  # deprecated synonym for sgml-dtds:
+  syntax keyword omnimarkBuiltinShelf dtds
+syntax keyword omnimarkBuiltinShelf xml-dtds
+syntax match omnimarkBuiltinShelf "\v\c<%(specified\s+attributes)"
+# }}}
+# _ catch name {{{
+syntax match omnimarkCatchName "\v\c<%(#external-exception)"
+  # external exception parameters
+  syntax keyword omnimarkCatchName identity
+  syntax keyword omnimarkCatchName message
+syntax keyword omnimarkCatchName location
+syntax match omnimarkCatchName "\v\c<%(#markup-end)"
+syntax match omnimarkCatchName "\v\c<%(#markup-point)"
+syntax match omnimarkCatchName "\v\c<%(#markup-start)"
+syntax match omnimarkCatchName "\v\c<%(#program-error)"
+# }}}
+# _ constant {{{
+syntax keyword omnimarkConstant false
+syntax keyword omnimarkConstant true
+# Example: local stream u initial {unattached}
+syntax keyword omnimarkConstant unattached
+# }}}
+# _ control structure {{{
+syntax match omnimarkControlStructure "\v\c<%(#first)"
+syntax match omnimarkControlStructure "\v\c<%(#group)"
+syntax match omnimarkControlStructure "\v\c<%(#item)"
+syntax match omnimarkControlStructure "\v\c<%(#last)"
+syntax match omnimarkControlStructure "\v%(\s)?%(-\>)%(\s)?"
+syntax keyword omnimarkControlStructure again
+syntax keyword omnimarkControlStructure always
+syntax keyword omnimarkControlStructure as
+syntax keyword omnimarkControlStructure case
+syntax keyword omnimarkControlStructure catch
+syntax match omnimarkControlStructure "\v\c<%(do)>%(%(\s|\n)+%((markup|sgml|xml)-parse|scan|select|select-type|skip%(\s+over)?|unless|when))?"
+  # with id-checking and with utf-8, example:
+  # do sgml-parse document with id-checking false scan file "my.sgml"
+  syntax keyword omnimarkControlStructure id-checking
+  syntax keyword omnimarkControlStructure utf-8
+  syntax keyword omnimarkControlStructure with
+syntax keyword omnimarkControlStructure done
+syntax keyword omnimarkControlStructure else
+syntax keyword omnimarkControlStructure exit
+syntax match omnimarkControlStructure "\v\c<%(repeat)>%(\s+%(for|over%(\s+current elements)?|scan|to))?"
+  # Example: repeat over reversed
+  syntax keyword omnimarkControlStructure reversed
+# Note: repeat over attribute(s) not needed - handled separately
+# Note: repeat over data-attribute(s) not needed - handled separately
+# Note: repeat over referents not needed - handled separately
+syntax keyword omnimarkControlStructure rethrow
+syntax keyword omnimarkControlStructure select
+syntax keyword omnimarkControlStructure unless
+syntax match omnimarkControlStructure "\v\c<%(using)%( %(%(data-)?attribute%(s)?|catch|group|input as|nested-referents|output\s+as|referents))?"
+syntax keyword omnimarkControlStructure when
+# }}}
+# _ data type {{{
+# (not a v12 heading)
+syntax keyword omnimarkDataType bcd
+syntax keyword omnimarkDataType counter
+# db.database data type - refer omdb, below, for library functions
+syntax match omnimarkDataType "\v\c<%(db)%([.])?%(database)"
+syntax keyword omnimarkDataType document
+syntax keyword omnimarkDataType float
+syntax keyword omnimarkDataType instance
+syntax match omnimarkDataType "\v\c<%(int32)"
+syntax keyword omnimarkDataType integer
+syntax match omnimarkDataType "\v\c<%(markup\s+sink)"
+syntax match omnimarkDataType "\v\c<%(markup\s+source)"
+syntax keyword omnimarkDataType pattern
+syntax keyword omnimarkDataType string
+syntax match omnimarkDataType "\v\c<%(string\s+sink)"
+syntax match omnimarkDataType "\v\c<%(string\s+source)"
+syntax keyword omnimarkDataType stream
+syntax keyword omnimarkDataType string
+syntax keyword omnimarkDataType subdocument
+syntax keyword omnimarkDataType switch
+# }}}
+# _ declaration/definition {{{
+syntax keyword omnimarkDeclaration constant
+syntax keyword omnimarkDeclaration context-translate
+syntax keyword omnimarkDeclaration created by
+syntax keyword omnimarkDeclaration cross-translate
+syntax keyword omnimarkDeclaration declare
+syntax match omnimarkDeclaration "\v\c<%(declare)%(\s+%(data-letters|function-library|heralded-names|markup-identification))?"
+# Note: declare #error, #main-input, #main-output, #process-input,
+#         #process-output, catch, data-letters, function-library, letters,
+#         name-letters, no-default-io, opaque, record
+#         - Those are all handed as separate keywords/matches
+syntax match omnimarkDeclaration "\v\c<%(define\s+conversion-function)"
+syntax match omnimarkDeclaration "\v\c<%(define\s+external)\s+%(source\s+)?%(function)"
+  # in function-library is part of an external function
+  syntax match omnimarkDeclaration "\v\c<%(in\s+function-library)"
+syntax match omnimarkDeclaration "\v\c<%(define\s+external\s+output)"
+syntax match omnimarkDeclaration "\v\c<%(define\s+function)"
+syntax match omnimarkDeclaration "\v\c<%(define\s+\w+function)"
+  # Example: define integer function add (value integer x, value ...)
+  syntax keyword omnimarkDeclaration value
+syntax match omnimarkDeclaration "\v\c<%(define\s+infix-function)"
+syntax match omnimarkDeclaration "\v\c<%(define\s+overloaded\s+function)"
+syntax match omnimarkDeclaration "\v\c<%(define\s+string\s+sink\s+function)"
+syntax match omnimarkDeclaration "\v\c<%(define\s+string\s+source\s+function)"
+# Some combinations are missed, so the general, 'define', is needed too:
+syntax match omnimarkDeclaration "\v\c<%(define\s+)"
+syntax keyword omnimarkDeclaration delimiter
+syntax keyword omnimarkDeclaration domain-bound
+syntax keyword omnimarkDeclaration down-translate
+syntax keyword omnimarkDeclaration dynamic
+syntax keyword omnimarkDeclaration elsewhere
+syntax keyword omnimarkDeclaration escape
+syntax match omnimarkDeclaration "\v\c<%(export\s+as\s+opaque)"
+syntax keyword omnimarkDeclaration export
+syntax keyword omnimarkDeclaration field
+syntax keyword omnimarkDeclaration function
+syntax keyword omnimarkDeclaration global
+syntax match omnimarkDeclaration "\v\c<%(group)%(s)?"
+syntax keyword omnimarkDeclaration import
+syntax match omnimarkDeclaration "\v\c<%(include)%(-guard)?"
+syntax match omnimarkDeclaration "\v\c<%(initial)%(-size)?"
+syntax keyword omnimarkDeclaration letters
+syntax keyword omnimarkDeclaration library
+syntax keyword omnimarkDeclaration local
+syntax match omnimarkDeclaration "\v\c<%(macro)%(-end)?"
+  # macros can take an arg and/or a token (or args or tokens)
+  syntax keyword omnimarkDeclaration arg
+  syntax keyword omnimarkDeclaration token
+syntax keyword omnimarkDeclaration modifiable
+syntax keyword omnimarkDeclaration module
+syntax keyword omnimarkDeclaration name-letters
+syntax match omnimarkDeclaration "\v\c<%(namecase\s+entity)"
+syntax match omnimarkDeclaration "\v\c<%(namecase\s+general)"
+syntax keyword omnimarkDeclaration newline
+syntax keyword omnimarkDeclaration no-default-io
+syntax keyword omnimarkDeclaration opaque
+syntax keyword omnimarkDeclaration optional
+syntax keyword omnimarkDeclaration overriding
+syntax match omnimarkDeclaration "\v\c<%(prefixed\s+by)"
+syntax keyword omnimarkDeclaration read-only
+syntax keyword omnimarkDeclaration record
+syntax keyword omnimarkDeclaration remainder
+syntax keyword omnimarkDeclaration require
+syntax keyword omnimarkDeclaration save
+syntax keyword omnimarkDeclaration save-clear
+syntax keyword omnimarkDeclaration silent-referent
+syntax keyword omnimarkDeclaration size
+syntax keyword omnimarkDeclaration supply
+syntax keyword omnimarkDeclaration symbol
+syntax keyword omnimarkDeclaration unprefixed
+syntax keyword omnimarkDeclaration up-translate
+syntax keyword omnimarkDeclaration use
+syntax keyword omnimarkDeclaration variable
+syntax keyword omnimarkDeclaration write-only
+# }}}
+# _ element qualifier {{{
+syntax keyword omnimarkElementQualifier ancestor
+syntax keyword omnimarkElementQualifier doctype
+syntax keyword omnimarkElementQualifier document-element
+syntax match omnimarkElementQualifier "\v\c<%(open\s+element)"
+syntax keyword omnimarkElementQualifier parent
+syntax keyword omnimarkElementQualifier preparent
+syntax keyword omnimarkElementQualifier previous
+# }}}
+# _ modifier {{{
+syntax match omnimarkModifier "\v\c<%(#base)"
+syntax match omnimarkModifier "\v\c<%(#full)"
+syntax match omnimarkModifier "\v\c<%(#xmlns)"
+syntax keyword omnimarkModifier append
+syntax keyword omnimarkModifier binary-input
+syntax keyword omnimarkModifier binary-mode
+syntax keyword omnimarkModifier binary-output
+syntax keyword omnimarkModifier break-width
+syntax keyword omnimarkModifier buffered
+syntax match omnimarkModifier "\v\c<%(declare\s+#main-output\s+has\s+domain-free)"
+syntax keyword omnimarkModifier defaulting
+syntax keyword omnimarkModifier domain-free
+syntax keyword omnimarkModifier notation
+# of may be standalone, e.g., data-attribute colwidth of (attribute name)
+syntax match omnimarkModifier "\v\c<%(of)%(\s%(ancestor|doctype|element|open element|%(pre)?parent))?"
+syntax keyword omnimarkModifier referents-allowed
+syntax keyword omnimarkModifier referents-displayed
+syntax keyword omnimarkModifier referents-not-allowed
+syntax keyword omnimarkModifier text-mode
+syntax keyword omnimarkModifier unbuffered
+# : (field selection operator) [not included]
+# ` (keyword access character) [not included]
+# }}}
+# _ operator {{{
+syntax keyword omnimarkOperator !
+syntax keyword omnimarkOperator not
+syntax keyword omnimarkOperator !=
+# 'isnt equal' is handled by separate keywords
+syntax keyword omnimarkOperator !==
+syntax match omnimarkOperator "\%(#!\)"
+syntax match omnimarkOperator "\v\c<%(#empty)"
+# Example: usemap is #none:
+syntax match omnimarkOperator "\v\c<%(#none)"
+syntax keyword omnimarkOperator %
+syntax keyword omnimarkOperator format
+syntax keyword omnimarkOperator &
+syntax keyword omnimarkOperator and
+syntax keyword omnimarkOperator *
+syntax keyword omnimarkOperator times
+syntax keyword omnimarkOperator **
+syntax keyword omnimarkOperator power
+syntax keyword omnimarkOperator +
+syntax keyword omnimarkOperator plus
+syntax keyword omnimarkOperator -
+syntax keyword omnimarkOperator minus
+syntax keyword omnimarkOperator negate
+syntax keyword omnimarkOperator /
+syntax keyword omnimarkOperator divide
+syntax keyword omnimarkOperator <
+syntax keyword omnimarkOperator less-than
+syntax keyword omnimarkOperator greater-equal
+syntax keyword omnimarkOperator <=
+syntax keyword omnimarkOperator less-equal
+syntax keyword omnimarkOperator =
+syntax keyword omnimarkOperator equal
+# 'is equal' is handled by separate keywords
+syntax keyword omnimarkOperator ==
+syntax match omnimarkOperator "\v<[=][>]\s*"
+syntax keyword omnimarkOperator >
+syntax keyword omnimarkOperator greater-than
+syntax keyword omnimarkOperator >=
+syntax keyword omnimarkOperator greater-equal
+syntax keyword omnimarkOperator abs
+syntax keyword omnimarkOperator active
+syntax keyword omnimarkOperator attribute
+  # attribute is defaulted, implied, specified: split to single keywords
+  # because it can be isnt too.  Similarly for ancestor (is/isnt)
+  # with ancestor being an element qualifier.
+  # Tests for element attributes, e.g.:
+  # do when attribute myid is (id | idref | idrefs)
+  #                                    cdata (already omnimarkPattern)
+  #                                    name (already omnimarkOperator)
+  syntax keyword omnimarkAttributeType names
+  # number: match rather than keyword since "number of" is an operator
+  syntax match omnimarkAttributeType "\v\c<%(number)"
+  syntax keyword omnimarkAttributeType numbers
+  syntax keyword omnimarkAttributeType nmtoken
+  syntax keyword omnimarkAttributeType nmtokens
+  syntax keyword omnimarkAttributeType nutoken
+  syntax keyword omnimarkAttributeType nutokens
+  syntax keyword omnimarkAttributeType id
+  syntax keyword omnimarkAttributeType idref
+  syntax keyword omnimarkAttributeType idrefs
+  #                                    notation (already omnimarkModifier)
+  #                                    entity (already omnimarkOperator)
+  #                                    entities (already omnimarkOperator)
+syntax keyword omnimarkOperator base
+syntax keyword omnimarkOperator binary
+syntax keyword omnimarkOperator cast
+syntax keyword omnimarkOperator ceiling
+syntax keyword omnimarkOperator children
+syntax keyword omnimarkOperator compiled-date
+syntax keyword omnimarkOperator complement
+syntax match omnimarkOperator "\v\c<%(content\s+of)"
+syntax keyword omnimarkOperator create-attribute-declaration
+syntax keyword omnimarkOperator create-element-declaration
+syntax keyword omnimarkOperator create-element-event
+syntax keyword omnimarkOperator create-processing-instruction-event
+syntax keyword omnimarkOperator create-specified-attribute
+syntax keyword omnimarkOperator create-unspecified-attribute
+syntax keyword omnimarkOperator creating
+syntax match omnimarkOperator "\v\c<%(creator\s+of)"
+syntax keyword omnimarkOperator data-attribute
+syntax keyword omnimarkOperator date
+syntax match omnimarkOperator "\v\c<%(declaration\s+of)"
+syntax keyword omnimarkOperator declared-elements
+syntax keyword omnimarkOperator declared-general-entities
+syntax keyword omnimarkOperator declared-parameter-entities
+syntax keyword omnimarkOperator defaulted
+syntax keyword omnimarkOperator difference
+syntax match omnimarkOperator "\v\c<%(doctype\s+is)"
+syntax keyword omnimarkOperator drop
+syntax match omnimarkOperator "\v\c<%(element\s+is)"
+syntax match omnimarkOperator "\v\c<%(elements\s+of)"
+syntax match omnimarkOperator "\v\c<%(entity\s+is)"
+syntax keyword omnimarkOperator except
+syntax keyword omnimarkOperator exists
+syntax keyword omnimarkOperator exp
+syntax keyword omnimarkOperator external-function
+syntax keyword omnimarkOperator file
+syntax keyword omnimarkOperator floor
+syntax match omnimarkOperator "\v\c<%(function-library\s+of)"
+syntax keyword omnimarkOperator has
+syntax keyword omnimarkOperator hasnt
+  # 'has'/'hasnt' (before 'key'/'^' or 'item'/'@' (other obscure things too?):
+  syntax keyword omnimarkOperator key
+  syntax match omnimarkOperator "\v[\^]"
+  # 'item' is addressed elsewhere - @ needs to be a match, not keyword
+  syntax match omnimarkOperator "\v<[@]"
+syntax keyword omnimarkOperator implied
+syntax keyword omnimarkOperator in-codes
+syntax keyword omnimarkOperator is
+syntax keyword omnimarkOperator isnt
+  # 'is'/'isnt' (usually before, or sometime after, e.g., 'content isnt'):
+  syntax keyword omnimarkOperator attached
+  syntax keyword omnimarkOperator buffer
+  syntax keyword omnimarkOperator catchable
+  syntax keyword omnimarkOperator cdata-entity
+  syntax keyword omnimarkOperator closed
+  syntax keyword omnimarkOperator conref
+  syntax keyword omnimarkOperator content
+  # 'content is' ... empty, any, cdata, rcdata, mixed, conref
+  syntax keyword omnimarkOperator default-entity
+  syntax keyword omnimarkOperator directory
+  # 'entity'/'entities', e.g., 'attribute x is (entity | entities)'
+  syntax match omnimarkOperator "\v\c<%(entit)%(y|ies)"
+  syntax keyword omnimarkOperator external
+  # E.g., 'open s as external-output-function' (v. buffer, etc.) '-call'?
+  syntax match omnimarkOperator "\v\c<%(external-output-function)%(-call)?"
+  syntax keyword omnimarkOperator file
+  syntax keyword omnimarkOperator general
+  syntax keyword omnimarkOperator in-library
+  syntax keyword omnimarkOperator internal
+  syntax keyword omnimarkOperator keyed
+  syntax keyword omnimarkOperator markup-parser
+  syntax keyword omnimarkOperator ndata-entity
+  # These are not to be confused with the omnimarkAction, 'open'
+  syntax match omnimarkOperator "\v\c<%(is\s+open)"
+  syntax match omnimarkOperator "\v\c<%(isnt\s+open)"
+  syntax keyword omnimarkOperator parameter
+  syntax keyword omnimarkOperator past
+  syntax keyword omnimarkOperator public
+  syntax keyword omnimarkOperator readable
+  # These are not to be confused with the omnimarkAction, 'referent'
+  syntax match omnimarkOperator "\v\c<%(is\s+referent)"
+  syntax match omnimarkOperator "\v\c<%(isnt\s+referent)"
+  syntax keyword omnimarkOperator sdata-entity
+  # Deprecated form - markup-parser is recommended
+  syntax keyword omnimarkOperator sgml-parser
+  syntax keyword omnimarkOperator subdoc-entity
+  syntax keyword omnimarkOperator system
+  syntax keyword omnimarkOperator thrown
+syntax match omnimarkOperator "\v\c<%(item)%(\sof)?%(\s%(data-)?attributes)?"
+syntax match omnimarkOperator "\v\c<%(key\s+of)"
+# 'key of attribute'/s not needed: 'key of' and 'attribute' are separate
+# 'key of data-attribute'/s not needed: 'key of' &c. are separate
+# 'key of referents' not needed: 'key of' and 'referents' are separate
+syntax keyword omnimarkOperator last
+syntax keyword omnimarkOperator lastmost
+syntax match omnimarkOperator "\v\c<%(length\s*of)"
+syntax keyword omnimarkOperator literal
+syntax keyword omnimarkOperator ln
+syntax keyword omnimarkOperator log10
+syntax keyword omnimarkOperator lookahead
+# 'lookahead not' not needed: 'lookahead' and 'not' are separate
+syntax keyword omnimarkOperator mask
+syntax keyword omnimarkOperator matches
+syntax keyword omnimarkOperator modulo
+syntax match omnimarkOperator "\v\c<%(name)>%(\s+of)?%(\s+current)?%(\s+element)?"
+syntax keyword omnimarkOperator named
+syntax match omnimarkOperator "\v\c<%(notation\s+equals)"
+syntax match omnimarkOperator "\v\c<%(number\s+of)"
+# 'number of attribute'/s not needed: 'number of' and 'attribute' are separate
+# 'number of current elements' is not needed: 'number of' &c. are separate
+syntax match omnimarkOperator "\v\c<%(number\s+of\s+current\s+subdocuments)"
+# 'number of data-attribute'/s not needed: 'number of' &c. are separate
+# 'number of referents' not needed: 'number of' and 'referents' are separate
+syntax keyword omnimarkOperator occurrence
+syntax match omnimarkOperator "\v\c<%(open\s+element\s+is)"
+syntax match omnimarkOperator "\v\c<%(parent\s+is)"
+syntax match omnimarkOperator "\v\c<%(preparent\s+is)"
+syntax match omnimarkOperator "\v\c<%(previous\s+is)"
+syntax match omnimarkOperator "\v\c<%(public-identifier\s+of)"
+syntax match omnimarkOperator "\v\c<%(referents\s+has\s+key)"
+syntax match omnimarkOperator "\v\c<%(referents\s+is\s+attached)"
+syntax keyword omnimarkOperator round
+syntax keyword omnimarkOperator shift
+syntax keyword omnimarkOperator specified
+syntax keyword omnimarkOperator sqrt
+# E.g., last proper? subelement _element-qualifier_ is/isnt
+syntax keyword omnimarkOperator subelement
+syntax keyword omnimarkOperator system-call
+syntax match omnimarkOperator "\v\c<%(system-identifier\s+of)"
+syntax keyword omnimarkOperator status
+  # E.g., 'status ... is (proper | inclusion)'
+  syntax keyword omnimarkOperator inclusion
+  syntax keyword omnimarkOperator proper
+  # E.g., 'last content {element-qualifier} is #DATA'
+  syntax match omnimarkOperator "\v\c<%(#data)"
+syntax keyword omnimarkOperator take
+# 'this' only appears before 'referent', so requires no standalone 'this'
+syntax match omnimarkOperator "\v\c<%(this\s*referent)"
+syntax keyword omnimarkOperator to
+syntax keyword omnimarkOperator truncate
+syntax keyword omnimarkOperator ul
+syntax keyword omnimarkOperator union
+syntax keyword omnimarkOperator usemap
+syntax keyword omnimarkOperator valued
+syntax keyword omnimarkOperator writable
+syntax keyword omnimarkOperator xmlns-name
+syntax match omnimarkOperator "\v%(\s)%([\\])%(\s)"
+syntax match omnimarkOperator "\v%(\s)([_])%(\s)"
+syntax match omnimarkOperator "\v%(\s)([\|])%(\s)"
+syntax keyword omnimarkOperator or
+syntax match omnimarkOperator "\v%(\s)([\|][\|])%(\s)"
+syntax keyword omnimarkOperator join
+syntax match omnimarkOperator "\v%(\s)([\|][\|][\*])%(\s)"
+syntax keyword omnimarkOperator repeated
+syntax match omnimarkOperator "\v%(\s)([~])"
+# }}}
+# _ pattern {{{
+syntax match omnimarkPattern "\v%(\s)%(\=\|)"
+syntax match omnimarkPattern "\v\c<%(any)%(\+%(\+)?|*%(*)?|\?)?"
+syntax match omnimarkPattern "\v\c<%(any-text)%(\+|*|\?)?"
+syntax match omnimarkPattern "\v\c<%(blank)%(\+|*|\?)?"
+syntax keyword omnimarkPattern cdata
+syntax keyword omnimarkPattern content-end
+syntax keyword omnimarkPattern content-start
+syntax match omnimarkPattern "\v\c<%(digit)%(\+|*|\?)?"
+syntax keyword omnimarkPattern empty
+syntax match omnimarkPattern "\v\c<%(lc)%(\+|*|\?)?"
+syntax match omnimarkPattern "\v\c<%(letter)%(\+|*|\?)?"
+syntax keyword omnimarkPattern line-end
+syntax keyword omnimarkPattern line-start
+syntax keyword omnimarkPattern mixed
+syntax keyword omnimarkPattern non-cdata
+syntax keyword omnimarkPattern non-sdata
+syntax keyword omnimarkPattern null
+syntax keyword omnimarkPattern pcdata
+syntax keyword omnimarkPattern rcdata
+syntax keyword omnimarkPattern sdata
+syntax match omnimarkPattern "\v\c<%(space)%(\+|*|\?)?"
+syntax match omnimarkPattern "\v\c<%(text)%([[:space:]\n])"
+syntax match omnimarkPattern "\v\c<%(uc)%(\+|*|\?)?"
+syntax keyword omnimarkPattern unanchored
+syntax keyword omnimarkPattern value-end
+syntax keyword omnimarkPattern value-start
+syntax match omnimarkPattern "\v\c<%(white-space)%(\+|*|\?)?"
+syntax keyword omnimarkPattern word-end
+syntax keyword omnimarkPattern word-start
+syntax match omnimarkPattern "\v%(\s)%(\|\=)"
+# }}}
+# _ rule {{{
+syntax keyword omnimarkRule data-content
+syntax keyword omnimarkRule document-end
+syntax keyword omnimarkRule document-start
+syntax keyword omnimarkRule document-type-declaration
+syntax keyword omnimarkRule dtd-end
+syntax keyword omnimarkRule dtd-start
+syntax keyword omnimarkRule element
+syntax keyword omnimarkRule epilog-start
+syntax keyword omnimarkRule external-entity
+syntax keyword omnimarkRule external-data-entity
+syntax keyword omnimarkRule external-text-entity
+syntax match omnimarkRule "\v\c<%(external-text-entity\s+#document)"
+syntax keyword omnimarkRule find
+syntax keyword omnimarkRule find-end
+syntax keyword omnimarkRule find-start
+syntax keyword omnimarkRule insertion-break
+syntax keyword omnimarkRule invalid-data
+syntax match omnimarkRule "\v\c<%(marked-section)%(\s+%(cdata|ignore|include-%(end|start)|rcdata))?"
+syntax keyword omnimarkRule markup-comment
+syntax keyword omnimarkRule markup-error
+syntax keyword omnimarkRule process
+syntax keyword omnimarkRule process-end
+syntax keyword omnimarkRule processing-instruction
+syntax keyword omnimarkRule process-start
+syntax keyword omnimarkRule prolog-end
+syntax keyword omnimarkRule prolog-in-error
+syntax keyword omnimarkRule replacement-break
+syntax keyword omnimarkRule sgml-comment
+syntax keyword omnimarkRule sgml-declaration-end
+syntax keyword omnimarkRule sgml-error
+syntax keyword omnimarkRule translate
+syntax keyword omnimarkRule xmlns-change
+# }}}
+# Libraries {{{
+# ombase64
+syntax match omnimarkLibrary "\v\c<%(base64[.])%([orw])%([[:print:]])+"
+# ombcd
+# (NB: abs, ceiling, exp, floor, ln, log10, round, sqrt, and truncate
+#  are all operators)
+syntax match omnimarkLibrary "\v\c<%(ombcd-version)"
+# ombessel
+syntax match omnimarkLibrary "\v\c<%(j0|j1|jn|y0|y1|yn)"
+# ombig5
+syntax match omnimarkLibrary "\v\c<%(big5[.])%([orw])%([[:print:]])+"
+# omblowfish and omffblowfish
+syntax match omnimarkLibrary "\v\c<%(blowfish[.])%([deorsw])%(\a|-)+"
+# omcgi
+syntax match omnimarkLibrary "\v\c<%(cgiGet)%([EQ])\a+"
+# omff8859
+syntax match omnimarkLibrary "\v\c<%(iso8859[.])%([iorw])%([[:print:]])+"
+# omfloat
+# (NB: uses same operator names as ombcd except for the following)
+syntax match omnimarkLibrary "\v\c<%(is-nan)"
+syntax match omnimarkLibrary "\v\c<%(omfloat-version)"
+# omdate
+syntax match omnimarkLibrary "\v\c<%(add-to-ymdhms)"
+syntax match omnimarkLibrary "\v\c<%(arpadate-to-ymdhms)"
+syntax match omnimarkLibrary "\v\c<%(format-ymdhms)"
+syntax match omnimarkLibrary "\v\c<%(now-as-ymdhms)"
+syntax match omnimarkLibrary "\v\c<%(round-down-ymdhms)"
+syntax match omnimarkLibrary "\v\c<%(round-up-ymdhms)"
+syntax match omnimarkLibrary "\v\c<%(ymdhms-)%([adjmst])%(\a|-)+"
+syntax match omnimarkLibrary "\v\c<%(ymd-weekday)"
+# omdb
+syntax match omnimarkLibrary "\v\c<%(db[.])%([acdefimopqrstuw])%(\a|-|1)+"
+# omffeuc
+syntax match omnimarkLibrary "\v\c<%(euc[.])%([orw])%(\a|-)+"
+# omffjis
+syntax match omnimarkLibrary "\v\c<%(jis[.])%([orw])%(\a|-)+"
+# omffutf16 and omffutf32
+syntax match omnimarklibrary "\v\c<%(utf)%(16|32)%([.])%([orw])%(\a|-)+"
+# omfloat
+syntax match omnimarklibrary "\v\C<%(FP_)%([a-z])+\d?"
+# omfsys
+syntax match omnimarkLibrary "\v\C<%(FS_)%([CDGLMR])\a+"
+# omftp
+syntax match omnimarkLibrary "\v\c<%(FTP)%([CIL])\a+"
+# omhttp
+syntax match omnimarkLibrary "\v\c<%(Http)%([CORS])\a+"
+# omiobuf
+syntax match omnimarkLibrary "\v\c<%(iobuf[.])%([brw])\a+"
+# omldap
+syntax match omnimarkLibrary "\v\c<%(ldap[.])%([acdemnors])%(\a|-)+"
+# omprocess
+syntax match omnimarkLibrary "\v\c<%(command-line)"
+syntax match omnimarkLibrary "\v\c<%(executable-name)"
+syntax match omnimarkLibrary "\v\c<%(execute)"
+syntax match omnimarkLibrary "\v\c<%(glob)"
+syntax match omnimarkLibrary "\v\c<%(omprocess-version)"
+# omrandom
+syntax match omnimarkLibrary "\v\c<%(random[.])%([eosu])%(\a|-)+"
+# omunicode
+syntax match omnimarkLibrary "\v\c<%(unicode[.])%([bgo])%(\a|-)+"
+# omutf8
+syntax match omnimarkLibrary "\v\c<%(utf8[.])%([bceilmos])%(\a|8|-)+"
+# omioe/omfio
+syntax match omnimarkLibrary "\v\c<%(get-exception-status)"
+syntax match omnimarkLibrary "\v\c<%(io-exception-text)"
+syntax match omnimarkLibrary "\v\c<%(new-io-exception)"
+syntax match omnimarkLibrary "\v\c<%(set-voluntary-end-exception)"
+syntax match omnimarkLibrary "\v\c<%(%(Big5|euc|jis|sjis|utf16)%(-))?%(%(in|out)put-file)"
+# omioprotocol
+syntax match omnimarkLibrary "\v\c<%(IOProtocol)%([EILMS])\a+"
+# ommail
+syntax match omnimarkLibrary "\v\c<%(Mail)%([ILO]\a+)"
+# omtrig
+syntax match omnimarkLibrary "\v\c<%(a)?%(cos%(h)?|sin%(h)?|tan%(h|2)?|hypot)"
+# omnetutl
+syntax match omnimarkLibrary "\v\c<%(from-net-long)"
+syntax match omnimarkLibrary "\v\c<%(net-long)"
+syntax match omnimarkLibrary "\v\c<%(NET)%([GIL]\a+)"
+syntax match omnimarkLibrary "\v\c<%(to-net-long)"
+# omnetutil
+syntax match omnimarkLibrary "\v\c<%(netutil[.])%([fhnot]%(\a|3|2|-)+)"
+# omoci
+syntax match omnimarkLibrary "\v\c<%(OCI_)%([GLoS]\a+)"
+# omodbc
+syntax match omnimarkLibrary "\v\c<%(SQL)%([_])?%([ABCDEFGLMNPRST][[:alpha:]]+)"
+# omsocat
+syntax match omnimarkLibrary "\v\c<%(socat-[clr-])%([[:alpha:]]+)"
+# omsort
+syntax match omnimarkLibrary "\v\c<%(sort[.][os])%(\a|-)+"
+# omutil
+syntax match omnimarkLibrary "\v\c<%(UTIL[_.][EGLmopRSU])%(\a|-)+"
+# omvfs
+syntax match omnimarkLibrary "\v\c<%(vfs[.][cdflmorstuw])%(\a|-)+"
+# tcp
+syntax match omnimarkLibrary "\v\c<%(TCP)%([.])?%([acdegilmoprstw][[:alpha:]-]+)"
+# uri
+syntax match omnimarkLibrary "\v\c<%(uri[.])%([ceopr])%(\a|-)+"
+# wsb
+syntax match omnimarkLibrary "\v\c<%(wsb[.])%([acdfhrsw])%(\a|-)+"
+# }}}
+# Comments {{{
+# -------
+syntax region omnimarkComment start=";" end="$"
+# }}}
+# Strings and format-modifiers {{{
+syntax region omnimarkString matchgroup=Normal start=+'+  end=+'+ skip=+%'+ contains=omnimarkEscape
+syntax region omnimarkString matchgroup=Normal start=+"+  end=+"+ skip=+%"+ contains=omnimarkEscape
+  # This handles format items inside strings:
+  # NB: escape _quoted-character_ allows a new character to be used to
+  # indicate a special character or a format item, rather than the normal %.
+  # The use of escape is deprecated in general, because it leads to
+  # non-standard OmniMark code that can be difficult to understand. It has
+  # not be handled here as it would be almost impossible to do so.
+  # dynamic: %a %b %d %g %i %p %q %v %x %w %y
+  #         a - integer data type formatting
+  #         b - integer data type formatting
+  #         c - parsed data formatting
+  #         d - integer data type formatting, BCD data type formatting
+  #         g - string data formatting
+  #         i - integer data type formatting
+  #         p - parsed data formatting
+  #         q - parsed data formatting
+  #         v - parsed data formatting
+  #         x - deprecated format command used instead of g
+  #         y - symbol declaration
+  #         @ - macro arguments
+  # static: %% %_ %n %t %# %) %" %' %/ %[ %] %@%%
+  #         %% - insert an explicit percent sign
+  #         %_ - insert an explicit space character
+  #         %n - insert an explicit newline character
+  #         %t - insert an explicit tab character
+  #         %0# through to %255# - insert an explicit byte with given value
+  #         %{...}—a sequence of characters, e.g., %16r{0d, 0a}
+  #         %#—insert an explicit octothorpe character (#)
+  #         %)—insert an explicit closing parenthesis
+  #         %"—insert an explicit double quote character
+  #         %'—insert an explicit single quote character
+  #         %/—indicates a point where line breaking can occur
+  #         %[ and %]—protect the delimited text from line breaking
+  #         %@%—insert an explicit percent sign inside a macro expansion
+  # % format-modifier a
+  syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f))?%(j|k|l|u|w)*)?a)=
+  # % format-modifier b
+  syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f))?%(\d)?)?b)=
+  # % format-modifier c
+  syntax match omnimarkEscape contained =\v\C%(%(\%%(h|l|u|s|z)*c))=
+  # % format-modifier d
+  syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f|r|s)?)*%(j|k|l|u|z)*)?d)=
+  # % format-modifier g
+  syntax match omnimarkEscape contained =\v\C%(\%%(%(%(\d)*%(f|r|s)?)*%(j|k|l|u|z)*)?g)=
+  # % format-modifier
+  syntax match omnimarkEscape contained =\v\C%(%(\%[abdgipqvxwy%_nt#)"'/\[\]])|%(\%\@\%)|%(\%\d+#)|\%%(\d+r[{]%([0-9A-z, ]+)}))+=
+  # }}}
+# Number {{{
+syntax match omnimarkNumber "\v([[:alpha:]]+)@<![-]?\d+([.]\d+)?"
+# }}}
+# Define default highlighting {{{
+highlight default link omnimarkAction		Statement
+highlight default link omnimarkAttributeType	Structure
+highlight default link omnimarkDataType		Type
+highlight default link omnimarkBuiltinEntity	Identifier
+highlight default link omnimarkBuiltinShelf	Identifier
+highlight default link omnimarkCatchName	Exception
+highlight default link omnimarkConstant		Constant
+highlight default link omnimarkControlStructure	Conditional
+highlight default link omnimarkDeclaration	Keyword
+highlight default link omnimarkElementQualifier	Type
+highlight default link omnimarkLibrary		Function
+highlight default link omnimarkModifier		Keyword
+highlight default link omnimarkOperator		Operator
+highlight default link omnimarkPattern		Label
+highlight default link omnimarkRule		Keyword
+highlight default link omnimarkString		String
+highlight default link omnimarkNumber		Number
+highlight default link omnimarkComment		Comment
+highlight default link omnimarkEscape		Special
+highlight default link omnimarkNormal		Statement
+# }}}
+syntax sync fromstart
+b:current_syntax = "omnimark"
+# vim: cc=+1 et fdm=marker ft=vim sta sw=2 ts=8 tw=79
