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