blob: 363ee70438d539ff50979a9167c21c956e12e659 [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 Moolenaar10e8ff92023-06-10 21:40:39 +01004" Last Change: 2022-05-22
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
Bram Moolenaar10e8ff92023-06-10 21:40:39 +010029syn keyword skeyword default
Bram Moolenaar89a9c152021-08-29 21:55:35 +020030syn keyword skeyword deployment
31syn keyword skeyword deploymentenvironment
32syn keyword skeyword deploymentgroup
33syn keyword skeyword deploymentnode
Bram Moolenaar944697a2022-02-20 19:48:20 +000034syn keyword skeyword description
Bram Moolenaar89a9c152021-08-29 21:55:35 +020035syn keyword skeyword dynamic
36syn keyword skeyword element
37syn keyword skeyword enterprise
38syn keyword skeyword exclude
39syn keyword skeyword filtered
40syn keyword skeyword group
41syn keyword skeyword healthcheck
Bram Moolenaar89a9c152021-08-29 21:55:35 +020042syn keyword skeyword include
43syn keyword skeyword infrastructurenode
Bram Moolenaar10e8ff92023-06-10 21:40:39 +010044syn keyword skeyword instances
Bram Moolenaar89a9c152021-08-29 21:55:35 +020045syn keyword skeyword model
46syn keyword skeyword person
47syn keyword skeyword perspectives
48syn keyword skeyword properties
49syn keyword skeyword relationship
50syn keyword skeyword softwaresystem
51syn keyword skeyword softwaresysteminstance
52syn keyword skeyword styles
53syn keyword skeyword systemcontext
54syn keyword skeyword systemlandscape
55syn keyword skeyword tags
Bram Moolenaar944697a2022-02-20 19:48:20 +000056syn keyword skeyword technology
Bram Moolenaar89a9c152021-08-29 21:55:35 +020057syn keyword skeyword terminology
58syn keyword skeyword theme
Bram Moolenaar10e8ff92023-06-10 21:40:39 +010059syn keyword skeyword themes
Bram Moolenaar89a9c152021-08-29 21:55:35 +020060syn keyword skeyword title
61syn keyword skeyword url
62syn keyword skeyword users
63syn keyword skeyword views
64syn keyword skeyword workspace
65
66syn match skeyword "\!adrs\s\+"
67syn match skeyword "\!constant\s\+"
68syn match skeyword "\!docs\s\+"
69syn match skeyword "\!identifiers\s\+"
Bram Moolenaar944697a2022-02-20 19:48:20 +000070syn match skeyword "\!impliedrelationships\s\+"
Bram Moolenaar89a9c152021-08-29 21:55:35 +020071syn match skeyword "\!include\s\+"
Bram Moolenaar944697a2022-02-20 19:48:20 +000072syn match skeyword "\!plugin\s\+"
73syn match skeyword "\!ref\s\+"
74syn match skeyword "\!script\s\+"
Bram Moolenaar89a9c152021-08-29 21:55:35 +020075
76syn region sstring oneline start='"' end='"'
77
78syn region sblock start='{' end='}' fold transparent
79
80hi def link sstring string
81hi def link scomment comment
82hi def link skeyword keyword
83
84let b:current_syntax = "structurizr"