1" Vim syntax file
2" Language:	Omnimark
3" Maintainer:	Paul Terray <mailto:terray@4dconcept.fr>
4" Last Change:	11 Oct 2000
5
6" For version 5.x: Clear all syntax items
7" For version 6.x: Quit when a syntax file was already loaded
8if version < 600
9  syntax clear
10elseif exists("b:current_syntax")
11  finish
12endif
13
14if version < 600
15  set iskeyword=@,48-57,_,128-167,224-235,-
16else
17  setlocal iskeyword=@,48-57,_,128-167,224-235,-
18endif
19
20syn keyword omnimarkKeywords	ACTIVATE AGAIN
21syn keyword omnimarkKeywords	CATCH CLEAR CLOSE COPY COPY-CLEAR CROSS-TRANSLATE
22syn keyword omnimarkKeywords	DEACTIVATE DECLARE DECREMENT DEFINE DISCARD DIVIDE DO DOCUMENT-END DOCUMENT-START DONE DTD-START
23syn keyword omnimarkKeywords	ELEMENT ELSE ESCAPE EXIT
24syn keyword omnimarkKeywords	FAIL FIND FIND-END FIND-START FORMAT
25syn keyword omnimarkKeywords	GROUP
26syn keyword omnimarkKeywords	HALT HALT-EVERYTHING
27syn keyword omnimarkKeywords	IGNORE IMPLIED INCLUDE INCLUDE-END INCLUDE-START INCREMENT INPUT
28syn keyword omnimarkKeywords	JOIN
29syn keyword omnimarkKeywords	LINE-END LINE-START LOG LOOKAHEAD
30syn keyword omnimarkKeywords	MACRO
31syn keyword omnimarkKeywords	MACRO-END MARKED-SECTION MARKUP-COMMENT MARKUP-ERROR MARKUP-PARSER MASK MATCH MINUS MODULO
32syn keyword omnimarkKeywords	NEW NEWLINE NEXT
33syn keyword omnimarkKeywords	OPEN OUTPUT OUTPUT-TO OVER
34syn keyword omnimarkKeywords	PROCESS PROCESS-END PROCESS-START PROCESSING-INSTRUCTION PROLOG-END PROLOG-IN-ERROR PUT
35syn keyword omnimarkKeywords	REMOVE REOPEN REPEAT RESET RETHROW RETURN
36syn keyword omnimarkKeywords	WHEN WHITE-SPACE
37syn 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
38syn keyword omnimarkKeywords	SYSTEM-CALL
39syn keyword omnimarkKeywords	TEST-SYSTEM THROW TO TRANSLATE
40syn keyword omnimarkKeywords	UC UL UNLESS UP-TRANSLATE
41syn keyword omnimarkKeywords	XML-PARSE
42
43syn keyword omnimarkCommands	ACTIVE AFTER ANCESTOR AND ANOTHER ARG AS ATTACHED ATTRIBUTE ATTRIBUTES
44syn keyword omnimarkCommands	BASE BEFORE BINARY BINARY-INPUT BINARY-MODE BINARY-OUTPUT BREAK-WIDTH BUFFER BY
45syn keyword omnimarkCommands	CASE CHILDREN CLOSED COMPILED-DATE COMPLEMENT CONREF CONTENT CONTEXT-TRANSLATE COUNTER CREATED CREATING CREATOR CURRENT
46syn keyword omnimarkCommands	DATA-ATTRIBUTE DATA-ATTRIBUTES DATA-CONTENT DATA-LETTERS DATE DECLARED-CONREF DECLARED-CURRENT DECLARED-DEFAULTED DECLARED-FIXED DECLARED-IMPLIED DECLARED-REQUIRED
47syn keyword omnimarkCommands	DEFAULT-ENTITY DEFAULTED DEFAULTING DELIMITER DIFFERENCE DIRECTORY DOCTYPE DOCUMENT DOCUMENT-ELEMENT DOMAIN-FREE DOWN-TRANSLATE DTD DTD-END DTDS
48syn keyword omnimarkCommands	ELEMENTS ELSEWHERE EMPTY ENTITIES ENTITY EPILOG-START EQUAL EXCEPT EXISTS EXTERNAL EXTERNAL-DATA-ENTITY EXTERNAL-ENTITY EXTERNAL-FUNCTION EXTERNAL-OUTPUT-FUNCTION
49syn keyword omnimarkCommands	EXTERNAL-TEXT-ENTITY
50syn keyword omnimarkCommands	FALSE FILE FUNCTION FUNCTION-LIBRARY
51syn keyword omnimarkCommands	GENERAL GLOBAL GREATER-EQUAL GREATER-THAN GROUPS
52syn keyword omnimarkCommands	HAS HASNT HERALDED-NAMES
53syn keyword omnimarkCommands	ID ID-CHECKING IDREF IDREFS IN IN-LIBRARY INCLUSION INITIAL INITIAL-SIZE INSERTION-BREAK INSTANCE INTERNAL INVALID-DATA IS ISNT ITEM
54syn keyword omnimarkCommands	KEY KEYED
55syn keyword omnimarkCommands	LAST LASTMOST LC LENGTH LESS-EQUAL LESS-THAN LETTERS LIBRARY LITERAL LOCAL
56syn keyword omnimarkCommands	MATCHES MIXED MODIFIABLE
57syn 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
58syn keyword omnimarkCommands	NUTOKEN NUTOKENS
59syn keyword omnimarkCommands	OCCURRENCE OF OPAQUE OPTIONAL OR
60syn keyword omnimarkCommands	PARAMETER PARENT PAST PATTERN PLUS PREPARENT PREVIOUS PROPER PUBLIC
61syn keyword omnimarkCommands	READ-ONLY READABLE REFERENT REFERENTS REFERENTS-ALLOWED REFERENTS-DISPLAYED REFERENTS-NOT-ALLOWED REMAINDER REPEATED REPLACEMENT-BREAK REVERSED
62syn keyword omnimarkCommands	SILENT-REFERENT SIZE SKIP SOURCE SPECIFIED STATUS STREAM SUBDOC-ENTITY SUBDOCUMENT SUBDOCUMENTS SUBELEMENT SWITCH SYMBOL SYSTEM
63syn keyword omnimarkCommands	TEXT-MODE THIS TIMES TOKEN TRUE
64syn keyword omnimarkCommands	UNANCHORED UNATTACHED UNION USEMAP USING
65syn keyword omnimarkCommands	VALUE VALUED VARIABLE
66syn keyword omnimarkCommands	WITH WRITABLE
67syn keyword omnimarkCommands	XML XML-DTD XML-DTDS
68syn keyword omnimarkCommands	YES
69syn keyword omnimarkCommands	#ADDITIONAL-INFO #APPINFO #CAPACITY #CHARSET #CLASS #COMMAND-LINE-NAMES #CONSOLE #CURRENT-INPUT #CURRENT-OUTPUT #DATA #DOCTYPE #DOCUMENT #DTD #EMPTY #ERROR #ERROR-CODE
70syn 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
71syn 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
72syn keyword omnimarkCommands	#SGML-ERROR-TOTAL #SGML-WARNING-COUNT #SGML-WARNING-TOTAL #SUPPRESS #SYNTAX #!
73
74syn keyword omnimarkPatterns	ANY ANY-TEXT
75syn keyword omnimarkPatterns	BLANK
76syn keyword omnimarkPatterns	CDATA CDATA-ENTITY CONTENT-END CONTENT-START
77syn keyword omnimarkPatterns	DIGIT
78syn keyword omnimarkPatterns	LETTER
79syn keyword omnimarkPatterns	NUMBER
80syn keyword omnimarkPatterns	PCDATA
81syn keyword omnimarkPatterns	RCDATA
82syn keyword omnimarkPatterns	SDATA SDATA-ENTITY SPACE
83syn keyword omnimarkPatterns	TEXT
84syn keyword omnimarkPatterns	VALUE-END VALUE-START
85syn keyword omnimarkPatterns	WORD-END WORD-START
86
87syn region  omnimarkComment	start=";" end="$"
88
89" strings
90syn region  omnimarkString		matchgroup=Normal start=+'+  end=+'+ skip=+%'+ contains=omnimarkEscape
91syn region  omnimarkString		matchgroup=Normal start=+"+  end=+"+ skip=+%"+ contains=omnimarkEscape
92syn match  omnimarkEscape contained +%.+
93syn match  omnimarkEscape contained +%[0-9][0-9]#+
94
95"syn sync maxlines=100
96syn sync minlines=2000
97
98" Define the default highlighting.
99" For version 5.7 and earlier: only when not done already
100" For version 5.8 and later: only when an item doesn't have highlighting yet
101if version >= 508 || !exists("did_omnimark_syntax_inits")
102  if version < 508
103    let did_omnimark_syntax_inits = 1
104    command -nargs=+ HiLink hi link <args>
105  else
106    command -nargs=+ HiLink hi def link <args>
107  endif
108
109  HiLink omnimarkCommands		Statement
110  HiLink omnimarkKeywords		Identifier
111  HiLink omnimarkString		String
112  HiLink omnimarkPatterns		Macro
113"  HiLink omnimarkNumber			Number
114  HiLink omnimarkComment		Comment
115  HiLink omnimarkEscape		Special
116
117  delcommand HiLink
118endif
119
120let b:current_syntax = "omnimark"
121
122" vim: ts=8
123
124