runtime(omnimark): update and rewrite syntax script in Vim9 script
Commit:
https://github.com/vim/vim/commit/14dec7b204a438192f78545d5a723643c48222b5
Author: Peter Kenny <githu...@k1w1.cyou>
Date: Wed Mar 26 19:52:50 2025 +0100
runtime(omnimark): update and rewrite syntax script in Vim9 script
Note: this commit rewrites the omnimark syntax script in Vim9 script and
is therefore probably incompatible with Neovim
closes: #16979
Signed-off-by: Peter Kenny <githu...@k1w1.cyou>
Signed-off-by: Christian Brabandt <
c...@256bit.org>
diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS
index 4b0d93a89..f0d11a38f 100644
--- a/.github/MAINTAINERS
+++ b/.github/MAINTAINERS
@@ -562,6 +562,7 @@ runtime/syntax/ninja.vim @nico
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 6294945ff..9b12d5ecd 100644
--- a/runtime/syntax/omnimark.vim
+++ b/runtime/syntax/omnimark.vim
@@ -1,106 +1,833 @@
-" Vim syntax file
-" Language: Omnimark
-" Maintainer: Paul Terray <mailto:
ter...@4dconcept.fr>
-" Last Change: 11 Oct 2000
-
-" quit when a syntax file was already loaded
+vim9script
+# Vim syntax file
+# Language: OmniMark
+# Maintainer: Peter Kenny <
kennype...@aleeas.com>
+# Previous Maintainer: Paul Terray <mailto:
ter...@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 "