@zenstackhq/language 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenstackhq/language",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "displayName": "ZenStack modeling language compiler",
5
5
  "description": "ZenStack modeling language compiler",
6
6
  "homepage": "https://zenstack.dev",
@@ -11,7 +11,8 @@
11
11
  "author": "ZenStack Team",
12
12
  "license": "MIT",
13
13
  "devDependencies": {
14
- "langium-cli": "1.2.0"
14
+ "langium-cli": "1.2.0",
15
+ "plist2": "^1.1.3"
15
16
  },
16
17
  "dependencies": {
17
18
  "langium": "1.2.0"
@@ -35,9 +36,9 @@
35
36
  },
36
37
  "scripts": {
37
38
  "clean": "rimraf dist",
38
- "generate": "langium generate",
39
+ "generate": "langium generate && npx ts-node script/generate-plist.ts",
39
40
  "watch": "concurrently \"langium generate --watch\" \"tsc --watch\"",
40
41
  "lint": "eslint src --ext ts",
41
- "build": "pnpm lint --max-warnings=0 && pnpm clean && pnpm generate && tsc && copyfiles -F ./README.md ./LICENSE ./package.json dist && pnpm pack dist --pack-destination '../../../.build'"
42
+ "build": "pnpm lint --max-warnings=0 && pnpm clean && pnpm generate && tsc && copyfiles -F ./README.md ./LICENSE ./package.json 'syntaxes/**/*' dist && pnpm pack dist --pack-destination '../../../.build'"
42
43
  }
43
44
  }
@@ -0,0 +1,113 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>name</key>
6
+ <string>zmodel</string>
7
+ <key>scopeName</key>
8
+ <string>source.zmodel</string>
9
+ <key>fileTypes</key>
10
+ <array>
11
+ <string>zmodel</string>
12
+ </array>
13
+ <key>patterns</key>
14
+ <array>
15
+ <dict>
16
+ <key>include</key>
17
+ <string>#comments</string>
18
+ </dict>
19
+ <dict>
20
+ <key>name</key>
21
+ <string>keyword.control.zmodel</string>
22
+ <key>match</key>
23
+ <string>\b(Any|Asc|BigInt|Boolean|Bytes|ContextType|DateTime|Decimal|Desc|FieldReference|Float|Int|Json|Null|Object|String|TransitiveFieldReference|Unsupported|abstract|attribute|datasource|enum|extends|false|function|generator|import|in|model|plugin|sort|true|view)\b</string>
24
+ </dict>
25
+ <dict>
26
+ <key>name</key>
27
+ <string>string.quoted.double.zmodel</string>
28
+ <key>begin</key>
29
+ <string>"</string>
30
+ <key>end</key>
31
+ <string>"</string>
32
+ <key>patterns</key>
33
+ <array>
34
+ <dict>
35
+ <key>include</key>
36
+ <string>#string-character-escape</string>
37
+ </dict>
38
+ </array>
39
+ </dict>
40
+ <dict>
41
+ <key>name</key>
42
+ <string>string.quoted.single.zmodel</string>
43
+ <key>begin</key>
44
+ <string>'</string>
45
+ <key>end</key>
46
+ <string>'</string>
47
+ <key>patterns</key>
48
+ <array>
49
+ <dict>
50
+ <key>include</key>
51
+ <string>#string-character-escape</string>
52
+ </dict>
53
+ </array>
54
+ </dict>
55
+ </array>
56
+ <key>repository</key>
57
+ <dict>
58
+ <key>comments</key>
59
+ <dict>
60
+ <key>patterns</key>
61
+ <array>
62
+ <dict>
63
+ <key>name</key>
64
+ <string>comment.block.zmodel</string>
65
+ <key>begin</key>
66
+ <string>/\*</string>
67
+ <key>beginCaptures</key>
68
+ <dict>
69
+ <key>0</key>
70
+ <dict>
71
+ <key>name</key>
72
+ <string>punctuation.definition.comment.zmodel</string>
73
+ </dict>
74
+ </dict>
75
+ <key>end</key>
76
+ <string>\*/</string>
77
+ <key>endCaptures</key>
78
+ <dict>
79
+ <key>0</key>
80
+ <dict>
81
+ <key>name</key>
82
+ <string>punctuation.definition.comment.zmodel</string>
83
+ </dict>
84
+ </dict>
85
+ </dict>
86
+ <dict>
87
+ <key>begin</key>
88
+ <string>//</string>
89
+ <key>beginCaptures</key>
90
+ <dict>
91
+ <key>1</key>
92
+ <dict>
93
+ <key>name</key>
94
+ <string>punctuation.whitespace.comment.leading.zmodel</string>
95
+ </dict>
96
+ </dict>
97
+ <key>end</key>
98
+ <string>(?=$)</string>
99
+ <key>name</key>
100
+ <string>comment.line.zmodel</string>
101
+ </dict>
102
+ </array>
103
+ </dict>
104
+ <key>string-character-escape</key>
105
+ <dict>
106
+ <key>name</key>
107
+ <string>constant.character.escape.zmodel</string>
108
+ <key>match</key>
109
+ <string>\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]+\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)</string>
110
+ </dict>
111
+ </dict>
112
+ </dict>
113
+ </plist>
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "zmodel",
3
+ "scopeName": "source.zmodel",
4
+ "fileTypes": [
5
+ ".zmodel"
6
+ ],
7
+ "patterns": [
8
+ {
9
+ "include": "#comments"
10
+ },
11
+ {
12
+ "name": "keyword.control.zmodel",
13
+ "match": "\\b(Any|Asc|BigInt|Boolean|Bytes|ContextType|DateTime|Decimal|Desc|FieldReference|Float|Int|Json|Null|Object|String|TransitiveFieldReference|Unsupported|abstract|attribute|datasource|enum|extends|false|function|generator|import|in|model|plugin|sort|true|view)\\b"
14
+ },
15
+ {
16
+ "name": "string.quoted.double.zmodel",
17
+ "begin": "\"",
18
+ "end": "\"",
19
+ "patterns": [
20
+ {
21
+ "include": "#string-character-escape"
22
+ }
23
+ ]
24
+ },
25
+ {
26
+ "name": "string.quoted.single.zmodel",
27
+ "begin": "'",
28
+ "end": "'",
29
+ "patterns": [
30
+ {
31
+ "include": "#string-character-escape"
32
+ }
33
+ ]
34
+ }
35
+ ],
36
+ "repository": {
37
+ "comments": {
38
+ "patterns": [
39
+ {
40
+ "name": "comment.block.zmodel",
41
+ "begin": "/\\*",
42
+ "beginCaptures": {
43
+ "0": {
44
+ "name": "punctuation.definition.comment.zmodel"
45
+ }
46
+ },
47
+ "end": "\\*/",
48
+ "endCaptures": {
49
+ "0": {
50
+ "name": "punctuation.definition.comment.zmodel"
51
+ }
52
+ }
53
+ },
54
+ {
55
+ "begin": "//",
56
+ "beginCaptures": {
57
+ "1": {
58
+ "name": "punctuation.whitespace.comment.leading.zmodel"
59
+ }
60
+ },
61
+ "end": "(?=$)",
62
+ "name": "comment.line.zmodel"
63
+ }
64
+ ]
65
+ },
66
+ "string-character-escape": {
67
+ "name": "constant.character.escape.zmodel",
68
+ "match": "\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"
69
+ }
70
+ }
71
+ }