1*89a9c159SBram Moolenaar" Vim syntax file
2*89a9c159SBram Moolenaar" Language:      Structurizr DSL
3*89a9c159SBram Moolenaar" Maintainer:    Bastian Venthur <[email protected]>
4*89a9c159SBram Moolenaar" Last Change:   2021-08-16
5*89a9c159SBram Moolenaar" Remark:        For a language reference, see
6*89a9c159SBram Moolenaar"                https://github.com/structurizr/dsl
7*89a9c159SBram Moolenaar
8*89a9c159SBram Moolenaar
9*89a9c159SBram Moolenaarif exists("b:current_syntax")
10*89a9c159SBram Moolenaar    finish
11*89a9c159SBram Moolenaarendif
12*89a9c159SBram Moolenaar
13*89a9c159SBram Moolenaarsyn case ignore
14*89a9c159SBram Moolenaar
15*89a9c159SBram Moolenaar" comments
16*89a9c159SBram Moolenaarsyn match scomment "#.*$"
17*89a9c159SBram Moolenaarsyn match scomment "//.*$"
18*89a9c159SBram Moolenaarsyn region scomment start="/\*" end="\*/"
19*89a9c159SBram Moolenaar
20*89a9c159SBram Moolenaar" keywords
21*89a9c159SBram Moolenaarsyn keyword skeyword animation
22*89a9c159SBram Moolenaarsyn keyword skeyword autoLayout
23*89a9c159SBram Moolenaarsyn keyword skeyword branding
24*89a9c159SBram Moolenaarsyn keyword skeyword component
25*89a9c159SBram Moolenaarsyn keyword skeyword configuration
26*89a9c159SBram Moolenaarsyn keyword skeyword container
27*89a9c159SBram Moolenaarsyn keyword skeyword containerinstance
28*89a9c159SBram Moolenaarsyn keyword skeyword custom
29*89a9c159SBram Moolenaarsyn keyword skeyword deployment
30*89a9c159SBram Moolenaarsyn keyword skeyword deploymentenvironment
31*89a9c159SBram Moolenaarsyn keyword skeyword deploymentgroup
32*89a9c159SBram Moolenaarsyn keyword skeyword deploymentnode
33*89a9c159SBram Moolenaarsyn keyword skeyword dynamic
34*89a9c159SBram Moolenaarsyn keyword skeyword element
35*89a9c159SBram Moolenaarsyn keyword skeyword enterprise
36*89a9c159SBram Moolenaarsyn keyword skeyword exclude
37*89a9c159SBram Moolenaarsyn keyword skeyword filtered
38*89a9c159SBram Moolenaarsyn keyword skeyword group
39*89a9c159SBram Moolenaarsyn keyword skeyword healthcheck
40*89a9c159SBram Moolenaarsyn keyword skeyword impliedrelationships
41*89a9c159SBram Moolenaarsyn keyword skeyword include
42*89a9c159SBram Moolenaarsyn keyword skeyword infrastructurenode
43*89a9c159SBram Moolenaarsyn keyword skeyword model
44*89a9c159SBram Moolenaarsyn keyword skeyword person
45*89a9c159SBram Moolenaarsyn keyword skeyword perspectives
46*89a9c159SBram Moolenaarsyn keyword skeyword properties
47*89a9c159SBram Moolenaarsyn keyword skeyword relationship
48*89a9c159SBram Moolenaarsyn keyword skeyword softwaresystem
49*89a9c159SBram Moolenaarsyn keyword skeyword softwaresysteminstance
50*89a9c159SBram Moolenaarsyn keyword skeyword styles
51*89a9c159SBram Moolenaarsyn keyword skeyword systemcontext
52*89a9c159SBram Moolenaarsyn keyword skeyword systemlandscape
53*89a9c159SBram Moolenaarsyn keyword skeyword tags
54*89a9c159SBram Moolenaarsyn keyword skeyword terminology
55*89a9c159SBram Moolenaarsyn keyword skeyword theme
56*89a9c159SBram Moolenaarsyn keyword skeyword title
57*89a9c159SBram Moolenaarsyn keyword skeyword url
58*89a9c159SBram Moolenaarsyn keyword skeyword users
59*89a9c159SBram Moolenaarsyn keyword skeyword views
60*89a9c159SBram Moolenaarsyn keyword skeyword workspace
61*89a9c159SBram Moolenaar
62*89a9c159SBram Moolenaarsyn match skeyword "\!adrs\s\+"
63*89a9c159SBram Moolenaarsyn match skeyword "\!constant\s\+"
64*89a9c159SBram Moolenaarsyn match skeyword "\!docs\s\+"
65*89a9c159SBram Moolenaarsyn match skeyword "\!identifiers\s\+"
66*89a9c159SBram Moolenaarsyn match skeyword "\!include\s\+"
67*89a9c159SBram Moolenaar
68*89a9c159SBram Moolenaarsyn region sstring oneline start='"' end='"'
69*89a9c159SBram Moolenaar
70*89a9c159SBram Moolenaarsyn region sblock start='{' end='}' fold transparent
71*89a9c159SBram Moolenaar
72*89a9c159SBram Moolenaarhi def link sstring string
73*89a9c159SBram Moolenaarhi def link scomment comment
74*89a9c159SBram Moolenaarhi def link skeyword keyword
75*89a9c159SBram Moolenaar
76*89a9c159SBram Moolenaarlet b:current_syntax = "structurizr"
77