1" Vim syntax file
2" Language:	GDMO
3"		(ISO-10165-4; Guidelines for the Definition of Managed Object)
4" Maintainer:	Gyuman Kim <violino@dooly.modacom.co.kr>
5" URL:		http://dooly.modacom.co.kr/gdmo.vim
6" Last change:	2001 Sep 02
7
8" For version 5.x: Clear all syntax items
9" For version 6.x: Quit when a syntax file was already loaded
10if version < 600
11  syntax clear
12elseif exists("b:current_syntax")
13  finish
14endif
15
16" keyword definitions
17syn match   gdmoCategory      "MANAGED\s\+OBJECT\s\+CLASS"
18syn keyword gdmoCategory      NOTIFICATION ATTRIBUTE BEHAVIOUR PACKAGE ACTION
19syn match   gdmoCategory      "NAME\s\+BINDING"
20syn match   gdmoRelationship  "DERIVED\s\+FROM"
21syn match   gdmoRelationship  "SUPERIOR\s\+OBJECT\s\+CLASS"
22syn match   gdmoRelationship  "SUBORDINATE\s\+OBJECT\s\+CLASS"
23syn match   gdmoExtension     "AND\s\+SUBCLASSES"
24syn match   gdmoDefinition    "DEFINED\s\+AS"
25syn match   gdmoDefinition    "REGISTERED\s\+AS"
26syn match   gdmoExtension     "ORDER\s\+BY"
27syn match   gdmoReference     "WITH\s\+ATTRIBUTE"
28syn match   gdmoReference     "WITH\s\+INFORMATION\s\+SYNTAX"
29syn match   gdmoReference     "WITH\s\+REPLY\s\+SYNTAX"
30syn match   gdmoReference     "WITH\s\+ATTRIBUTE\s\+SYNTAX"
31syn match   gdmoExtension     "AND\s\+ATTRIBUTE\s\+IDS"
32syn match   gdmoExtension     "MATCHES\s\+FOR"
33syn match   gdmoReference     "CHARACTERIZED\s\+BY"
34syn match   gdmoReference     "CONDITIONAL\s\+PACKAGES"
35syn match   gdmoExtension     "PRESENT\s\+IF"
36syn match   gdmoExtension     "DEFAULT\s\+VALUE"
37syn match   gdmoExtension     "PERMITTED\s\+VALUES"
38syn match   gdmoExtension     "REQUIRED\s\+VALUES"
39syn match   gdmoExtension     "NAMED\s\+BY"
40syn keyword gdmoReference     ATTRIBUTES NOTIFICATIONS ACTIONS
41syn keyword gdmoExtension     DELETE CREATE
42syn keyword gdmoExtension     EQUALITY SUBSTRINGS ORDERING
43syn match   gdmoExtension     "REPLACE-WITH-DEFAULT"
44syn match   gdmoExtension     "GET"
45syn match   gdmoExtension     "GET-REPLACE"
46syn match   gdmoExtension     "ADD-REMOVE"
47syn match   gdmoExtension     "WITH-REFERENCE-OBJECT"
48syn match   gdmoExtension     "WITH-AUTOMATIC-INSTANCE-NAMING"
49syn match   gdmoExtension     "ONLY-IF-NO-CONTAINED-OBJECTS"
50
51
52" Strings and constants
53syn match   gdmoSpecial		contained "\\\d\d\d\|\\."
54syn region  gdmoString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=gdmoSpecial
55syn match   gdmoCharacter	  "'[^\\]'"
56syn match   gdmoSpecialCharacter  "'\\.'"
57syn match   gdmoNumber		  "0[xX][0-9a-fA-F]\+\>"
58syn match   gdmoLineComment       "--.*"
59syn match   gdmoLineComment       "--.*--"
60
61syn match gdmoDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3
62syn match gdmoBraces     "[{}]"
63
64syn sync ccomment gdmoComment
65
66" Define the default highlighting.
67" For version 5.7 and earlier: only when not done already
68" For version 5.8 and later: only when an item doesn't have highlighting yet
69if version >= 508 || !exists("did_gdmo_syntax_inits")
70  if version < 508
71    let did_gdmo_syntax_inits = 1
72    command -nargs=+ HiLink hi link <args>
73  else
74    command -nargs=+ HiLink hi def link <args>
75  endif
76
77  HiLink gdmoCategory	      Structure
78  HiLink gdmoRelationship     Macro
79  HiLink gdmoDefinition       Statement
80  HiLink gdmoReference	      Type
81  HiLink gdmoExtension	      Operator
82  HiLink gdmoBraces	      Function
83  HiLink gdmoSpecial	      Special
84  HiLink gdmoString	      String
85  HiLink gdmoCharacter	      Character
86  HiLink gdmoSpecialCharacter gdmoSpecial
87  HiLink gdmoComment	      Comment
88  HiLink gdmoLineComment      gdmoComment
89  HiLink gdmoType	      Type
90
91  delcommand HiLink
92endif
93
94let b:current_syntax = "gdmo"
95
96" vim: ts=8
97