blob: d9cebae1de5c2aae2746077d615129c6b6ad09fa [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: GDMO
3" (ISO-10165-4; Guidelines for the Definition of Managed Object)
Bram Moolenaar251e1912011-06-19 05:09:16 +02004" Maintainer: Gyuman (Chester) Kim <violkim@gmail.com>
5" URL: http://classicalprogrammer.wikidot.com/local--files/vim-syntax-file-for-gdmo/gdmo.vim
6" Last change: 8th June, 2011
Bram Moolenaar071d4272004-06-13 20:20:40 +00007
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02008" quit when a syntax file was already loaded
9if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000010 finish
11endif
12
13" keyword definitions
14syn match gdmoCategory "MANAGED\s\+OBJECT\s\+CLASS"
15syn keyword gdmoCategory NOTIFICATION ATTRIBUTE BEHAVIOUR PACKAGE ACTION
16syn match gdmoCategory "NAME\s\+BINDING"
17syn match gdmoRelationship "DERIVED\s\+FROM"
18syn match gdmoRelationship "SUPERIOR\s\+OBJECT\s\+CLASS"
19syn match gdmoRelationship "SUBORDINATE\s\+OBJECT\s\+CLASS"
20syn match gdmoExtension "AND\s\+SUBCLASSES"
21syn match gdmoDefinition "DEFINED\s\+AS"
22syn match gdmoDefinition "REGISTERED\s\+AS"
23syn match gdmoExtension "ORDER\s\+BY"
24syn match gdmoReference "WITH\s\+ATTRIBUTE"
25syn match gdmoReference "WITH\s\+INFORMATION\s\+SYNTAX"
26syn match gdmoReference "WITH\s\+REPLY\s\+SYNTAX"
27syn match gdmoReference "WITH\s\+ATTRIBUTE\s\+SYNTAX"
28syn match gdmoExtension "AND\s\+ATTRIBUTE\s\+IDS"
29syn match gdmoExtension "MATCHES\s\+FOR"
30syn match gdmoReference "CHARACTERIZED\s\+BY"
31syn match gdmoReference "CONDITIONAL\s\+PACKAGES"
32syn match gdmoExtension "PRESENT\s\+IF"
33syn match gdmoExtension "DEFAULT\s\+VALUE"
34syn match gdmoExtension "PERMITTED\s\+VALUES"
35syn match gdmoExtension "REQUIRED\s\+VALUES"
36syn match gdmoExtension "NAMED\s\+BY"
37syn keyword gdmoReference ATTRIBUTES NOTIFICATIONS ACTIONS
38syn keyword gdmoExtension DELETE CREATE
39syn keyword gdmoExtension EQUALITY SUBSTRINGS ORDERING
40syn match gdmoExtension "REPLACE-WITH-DEFAULT"
41syn match gdmoExtension "GET"
42syn match gdmoExtension "GET-REPLACE"
43syn match gdmoExtension "ADD-REMOVE"
44syn match gdmoExtension "WITH-REFERENCE-OBJECT"
45syn match gdmoExtension "WITH-AUTOMATIC-INSTANCE-NAMING"
46syn match gdmoExtension "ONLY-IF-NO-CONTAINED-OBJECTS"
47
48
49" Strings and constants
50syn match gdmoSpecial contained "\\\d\d\d\|\\."
51syn region gdmoString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gdmoSpecial
52syn match gdmoCharacter "'[^\\]'"
53syn match gdmoSpecialCharacter "'\\.'"
54syn match gdmoNumber "0[xX][0-9a-fA-F]\+\>"
55syn match gdmoLineComment "--.*"
56syn match gdmoLineComment "--.*--"
57
58syn match gdmoDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3
59syn match gdmoBraces "[{}]"
60
61syn sync ccomment gdmoComment
62
63" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020064" Only when an item doesn't have highlighting yet
65command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020067HiLink gdmoCategory Structure
68HiLink gdmoRelationship Macro
69HiLink gdmoDefinition Statement
70HiLink gdmoReference Type
71HiLink gdmoExtension Operator
72HiLink gdmoBraces Function
73HiLink gdmoSpecial Special
74HiLink gdmoString String
75HiLink gdmoCharacter Character
76HiLink gdmoSpecialCharacter gdmoSpecial
77HiLink gdmoComment Comment
78HiLink gdmoLineComment gdmoComment
79HiLink gdmoType Type
Bram Moolenaar071d4272004-06-13 20:20:40 +000080
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020081delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000082
83let b:current_syntax = "gdmo"
84
85" vim: ts=8