blob: ab9e4ee6095cac587a08b8dc652a4ad4e3730a3f [file] [log] [blame]
Bram Moolenaar89a9c152021-08-29 21:55:35 +02001" Vim syntax file
2" Language: Structurizr DSL
3" Maintainer: Bastian Venthur <venthur@debian.org>
Bram Moolenaar944697a2022-02-20 19:48:20 +00004" Last Change: 2022-02-15
Bram Moolenaar89a9c152021-08-29 21:55:35 +02005" Remark: For a language reference, see
6" https://github.com/structurizr/dsl
7
8
9if exists("b:current_syntax")
10 finish
11endif
12
13syn case ignore
14
15" comments
16syn match scomment "#.*$"
17syn match scomment "//.*$"
18syn region scomment start="/\*" end="\*/"
19
20" keywords
21syn keyword skeyword animation
22syn keyword skeyword autoLayout
23syn keyword skeyword branding
24syn keyword skeyword component
25syn keyword skeyword configuration
26syn keyword skeyword container
27syn keyword skeyword containerinstance
28syn keyword skeyword custom
29syn keyword skeyword deployment
30syn keyword skeyword deploymentenvironment
31syn keyword skeyword deploymentgroup
32syn keyword skeyword deploymentnode
Bram Moolenaar944697a2022-02-20 19:48:20 +000033syn keyword skeyword description
Bram Moolenaar89a9c152021-08-29 21:55:35 +020034syn keyword skeyword dynamic
35syn keyword skeyword element
36syn keyword skeyword enterprise
37syn keyword skeyword exclude
38syn keyword skeyword filtered
39syn keyword skeyword group
40syn keyword skeyword healthcheck
Bram Moolenaar89a9c152021-08-29 21:55:35 +020041syn keyword skeyword include
42syn keyword skeyword infrastructurenode
43syn keyword skeyword model
44syn keyword skeyword person
45syn keyword skeyword perspectives
46syn keyword skeyword properties
47syn keyword skeyword relationship
48syn keyword skeyword softwaresystem
49syn keyword skeyword softwaresysteminstance
50syn keyword skeyword styles
51syn keyword skeyword systemcontext
52syn keyword skeyword systemlandscape
53syn keyword skeyword tags
Bram Moolenaar944697a2022-02-20 19:48:20 +000054syn keyword skeyword technology
Bram Moolenaar89a9c152021-08-29 21:55:35 +020055syn keyword skeyword terminology
56syn keyword skeyword theme
57syn keyword skeyword title
58syn keyword skeyword url
59syn keyword skeyword users
60syn keyword skeyword views
61syn keyword skeyword workspace
62
63syn match skeyword "\!adrs\s\+"
64syn match skeyword "\!constant\s\+"
65syn match skeyword "\!docs\s\+"
66syn match skeyword "\!identifiers\s\+"
Bram Moolenaar944697a2022-02-20 19:48:20 +000067syn match skeyword "\!impliedrelationships\s\+"
Bram Moolenaar89a9c152021-08-29 21:55:35 +020068syn match skeyword "\!include\s\+"
Bram Moolenaar944697a2022-02-20 19:48:20 +000069syn match skeyword "\!plugin\s\+"
70syn match skeyword "\!ref\s\+"
71syn match skeyword "\!script\s\+"
Bram Moolenaar89a9c152021-08-29 21:55:35 +020072
73syn region sstring oneline start='"' end='"'
74
75syn region sblock start='{' end='}' fold transparent
76
77hi def link sstring string
78hi def link scomment comment
79hi def link skeyword keyword
80
81let b:current_syntax = "structurizr"