runtime(omnimark): update and rewrite syntax script in Vim9 script

Commit: 
https://github.com/vim/vim/commit/14dec7b204a438192f78545d5a723643c48222b5
Author: Peter Kenny <github....@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 <github....@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 <kennypete.t2...@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 " 

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1txVyy-00HIzu-O0%40256bit.org.

Raspunde prin e-mail lui