blob: 009f402ffa9c269659446a695b650d81aeae7813 [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
Bram Moolenaar071d4272004-06-13 20:20:40 +000065
Bram Moolenaarf37506f2016-08-31 22:22:10 +020066hi def link gdmoCategory Structure
67hi def link gdmoRelationship Macro
68hi def link gdmoDefinition Statement
69hi def link gdmoReference Type
70hi def link gdmoExtension Operator
71hi def link gdmoBraces Function
72hi def link gdmoSpecial Special
73hi def link gdmoString String
74hi def link gdmoCharacter Character
75hi def link gdmoSpecialCharacter gdmoSpecial
76hi def link gdmoComment Comment
77hi def link gdmoLineComment gdmoComment
78hi def link gdmoType Type
Bram Moolenaar071d4272004-06-13 20:20:40 +000079
Bram Moolenaar071d4272004-06-13 20:20:40 +000080
81let b:current_syntax = "gdmo"
82
83" vim: ts=8