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> |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 4 | " Last Change: 2024-11-06 |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 5 | " Remark: For a language reference, see |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 6 | " https://docs.structurizr.com/dsl/language |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 7 | |
| 8 | if exists("b:current_syntax") |
| 9 | finish |
| 10 | endif |
| 11 | |
| 12 | syn case ignore |
| 13 | |
| 14 | " comments |
| 15 | syn match scomment "#.*$" |
| 16 | syn match scomment "//.*$" |
| 17 | syn region scomment start="/\*" end="\*/" |
| 18 | |
| 19 | " keywords |
| 20 | syn keyword skeyword animation |
| 21 | syn keyword skeyword autoLayout |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 22 | syn keyword skeyword background |
| 23 | syn keyword skeyword border |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 24 | syn keyword skeyword branding |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 25 | syn keyword skeyword color |
| 26 | syn keyword skeyword colour |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 27 | syn keyword skeyword component |
| 28 | syn keyword skeyword configuration |
| 29 | syn keyword skeyword container |
| 30 | syn keyword skeyword containerinstance |
| 31 | syn keyword skeyword custom |
Bram Moolenaar | 10e8ff9 | 2023-06-10 21:40:39 +0100 | [diff] [blame] | 32 | syn keyword skeyword default |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 33 | syn keyword skeyword deployment |
| 34 | syn keyword skeyword deploymentenvironment |
| 35 | syn keyword skeyword deploymentgroup |
| 36 | syn keyword skeyword deploymentnode |
Bram Moolenaar | 944697a | 2022-02-20 19:48:20 +0000 | [diff] [blame] | 37 | syn keyword skeyword description |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 38 | syn keyword skeyword dynamic |
| 39 | syn keyword skeyword element |
| 40 | syn keyword skeyword enterprise |
| 41 | syn keyword skeyword exclude |
| 42 | syn keyword skeyword filtered |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 43 | syn keyword skeyword font |
| 44 | syn keyword skeyword fontsize |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 45 | syn keyword skeyword group |
| 46 | syn keyword skeyword healthcheck |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 47 | syn keyword skeyword height |
| 48 | syn keyword skeyword icon |
| 49 | syn keyword skeyword image |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 50 | syn keyword skeyword include |
| 51 | syn keyword skeyword infrastructurenode |
Bram Moolenaar | 10e8ff9 | 2023-06-10 21:40:39 +0100 | [diff] [blame] | 52 | syn keyword skeyword instances |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 53 | syn keyword skeyword logo |
| 54 | syn keyword skeyword metadata |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 55 | syn keyword skeyword model |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 56 | syn keyword skeyword opacity |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 57 | syn keyword skeyword person |
| 58 | syn keyword skeyword perspectives |
| 59 | syn keyword skeyword properties |
| 60 | syn keyword skeyword relationship |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 61 | syn keyword skeyword routing |
| 62 | syn keyword skeyword scope |
| 63 | syn keyword skeyword shape |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 64 | syn keyword skeyword softwaresystem |
| 65 | syn keyword skeyword softwaresysteminstance |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 66 | syn keyword skeyword stroke |
| 67 | syn keyword skeyword strokewidth |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 68 | syn keyword skeyword styles |
| 69 | syn keyword skeyword systemcontext |
| 70 | syn keyword skeyword systemlandscape |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 71 | syn keyword skeyword tag |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 72 | syn keyword skeyword tags |
Bram Moolenaar | 944697a | 2022-02-20 19:48:20 +0000 | [diff] [blame] | 73 | syn keyword skeyword technology |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 74 | syn keyword skeyword terminology |
| 75 | syn keyword skeyword theme |
Bram Moolenaar | 10e8ff9 | 2023-06-10 21:40:39 +0100 | [diff] [blame] | 76 | syn keyword skeyword themes |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 77 | syn keyword skeyword thickness |
| 78 | syn keyword skeyword this |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 79 | syn keyword skeyword title |
| 80 | syn keyword skeyword url |
| 81 | syn keyword skeyword users |
| 82 | syn keyword skeyword views |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 83 | syn keyword skeyword visibility |
| 84 | syn keyword skeyword width |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 85 | syn keyword skeyword workspace |
| 86 | |
| 87 | syn match skeyword "\!adrs\s\+" |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 88 | syn match skeyword "\!components\s\+" |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 89 | syn match skeyword "\!docs\s\+" |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 90 | syn match skeyword "\!element\s\+" |
| 91 | syn match skeyword "\!elements\s\+" |
| 92 | syn match skeyword "\!extend\s\+" |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 93 | syn match skeyword "\!identifiers\s\+" |
Bram Moolenaar | 944697a | 2022-02-20 19:48:20 +0000 | [diff] [blame] | 94 | syn match skeyword "\!impliedrelationships\s\+" |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 95 | syn match skeyword "\!include\s\+" |
Bram Moolenaar | 944697a | 2022-02-20 19:48:20 +0000 | [diff] [blame] | 96 | syn match skeyword "\!plugin\s\+" |
| 97 | syn match skeyword "\!ref\s\+" |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 98 | syn match skeyword "\!relationship\s\+" |
| 99 | syn match skeyword "\!relationships\s\+" |
Bram Moolenaar | 944697a | 2022-02-20 19:48:20 +0000 | [diff] [blame] | 100 | syn match skeyword "\!script\s\+" |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 101 | |
| 102 | syn region sstring oneline start='"' end='"' |
| 103 | |
| 104 | syn region sblock start='{' end='}' fold transparent |
| 105 | |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 106 | syn match soperator "\->\s+" |
| 107 | |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 108 | hi def link sstring string |
| 109 | hi def link scomment comment |
| 110 | hi def link skeyword keyword |
Duke | 39f52a6 | 2024-11-07 22:05:32 +0100 | [diff] [blame] | 111 | hi def link soperator operator |
Bram Moolenaar | 89a9c15 | 2021-08-29 21:55:35 +0200 | [diff] [blame] | 112 | |
| 113 | let b:current_syntax = "structurizr" |