runtime(omnimark): update and rewrite syntax script in Vim9 script
Commit:
https://github.com/vim/vim/commit/14dec7b204a438192f78545d5a723643c48222b5
Author: Peter Kenny <[email protected]>
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 <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
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:[email protected]>
-" Last Change: 11 Oct 2000
-
-" quit when a syntax file was already loaded
+vim9script
+# Vim syntax file
+# Language: OmniMark
+# Maintainer: Peter Kenny <[email protected]>
+# Previous Maintainer: Paul Terray <mailto:[email protected]>
+# 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 [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1txVyy-00HIzu-O0%40256bit.org.