zenstack 1.0.0 → 1.0.16

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.
Files changed (264) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +126 -1
  3. package/bin/cli +3 -0
  4. package/bin/post-install.js +24 -0
  5. package/cli/cli-error.d.ts +5 -0
  6. package/cli/cli-error.js +10 -0
  7. package/cli/cli-error.js.map +1 -0
  8. package/cli/cli-util.d.ts +18 -0
  9. package/cli/cli-util.js +143 -0
  10. package/cli/cli-util.js.map +1 -0
  11. package/cli/index.d.ts +15 -0
  12. package/cli/index.js +121 -0
  13. package/cli/index.js.map +1 -0
  14. package/cli/plugin-runner.d.ts +14 -0
  15. package/cli/plugin-runner.js +145 -0
  16. package/cli/plugin-runner.js.map +1 -0
  17. package/constants.d.ts +1 -0
  18. package/constants.js +6 -0
  19. package/constants.js.map +1 -0
  20. package/language-server/constants.d.ts +15 -0
  21. package/language-server/constants.js +20 -0
  22. package/language-server/constants.js.map +1 -0
  23. package/language-server/main.d.ts +1 -0
  24. package/language-server/main.js +13 -0
  25. package/language-server/main.js.map +1 -0
  26. package/language-server/types.d.ts +10 -0
  27. package/language-server/types.js +3 -0
  28. package/language-server/types.js.map +1 -0
  29. package/language-server/utils.d.ts +18 -0
  30. package/language-server/utils.js +58 -0
  31. package/language-server/utils.js.map +1 -0
  32. package/language-server/validator/attribute-validator.d.ts +9 -0
  33. package/language-server/validator/attribute-validator.js +11 -0
  34. package/language-server/validator/attribute-validator.js.map +1 -0
  35. package/language-server/validator/datamodel-validator.d.ts +15 -0
  36. package/language-server/validator/datamodel-validator.js +278 -0
  37. package/language-server/validator/datamodel-validator.js.map +1 -0
  38. package/language-server/validator/datasource-validator.d.ts +12 -0
  39. package/language-server/validator/datasource-validator.js +66 -0
  40. package/language-server/validator/datasource-validator.js.map +1 -0
  41. package/language-server/validator/enum-validator.d.ts +11 -0
  42. package/language-server/validator/enum-validator.js +28 -0
  43. package/language-server/validator/enum-validator.js.map +1 -0
  44. package/language-server/validator/expression-validator.d.ts +10 -0
  45. package/language-server/validator/expression-validator.js +30 -0
  46. package/language-server/validator/expression-validator.js.map +1 -0
  47. package/language-server/validator/schema-validator.d.ts +10 -0
  48. package/language-server/validator/schema-validator.js +28 -0
  49. package/language-server/validator/schema-validator.js.map +1 -0
  50. package/language-server/validator/utils.d.ts +25 -0
  51. package/language-server/validator/utils.js +257 -0
  52. package/language-server/validator/utils.js.map +1 -0
  53. package/language-server/validator/zmodel-validator.d.ts +21 -0
  54. package/language-server/validator/zmodel-validator.js +69 -0
  55. package/language-server/validator/zmodel-validator.js.map +1 -0
  56. package/language-server/zmodel-code-action.d.ts +14 -0
  57. package/language-server/zmodel-code-action.js +93 -0
  58. package/language-server/zmodel-code-action.js.map +1 -0
  59. package/language-server/zmodel-formatter.d.ts +9 -0
  60. package/language-server/zmodel-formatter.js +76 -0
  61. package/language-server/zmodel-formatter.js.map +1 -0
  62. package/language-server/zmodel-linker.d.ts +29 -0
  63. package/language-server/zmodel-linker.js +366 -0
  64. package/language-server/zmodel-linker.js.map +1 -0
  65. package/language-server/zmodel-module.d.ts +41 -0
  66. package/language-server/zmodel-module.js +80 -0
  67. package/language-server/zmodel-module.js.map +1 -0
  68. package/language-server/zmodel-scope.d.ts +10 -0
  69. package/language-server/zmodel-scope.js +44 -0
  70. package/language-server/zmodel-scope.js.map +1 -0
  71. package/language-server/zmodel-workspace-manager.d.ts +8 -0
  72. package/language-server/zmodel-workspace-manager.js +37 -0
  73. package/language-server/zmodel-workspace-manager.js.map +1 -0
  74. package/package.json +133 -8
  75. package/plugins/access-policy/expression-writer.d.ts +39 -0
  76. package/plugins/access-policy/expression-writer.js +361 -0
  77. package/plugins/access-policy/expression-writer.js.map +1 -0
  78. package/plugins/access-policy/index.d.ts +4 -0
  79. package/plugins/access-policy/index.js +24 -0
  80. package/plugins/access-policy/index.js.map +1 -0
  81. package/plugins/access-policy/policy-guard-generator.d.ts +15 -0
  82. package/plugins/access-policy/policy-guard-generator.js +349 -0
  83. package/plugins/access-policy/policy-guard-generator.js.map +1 -0
  84. package/plugins/access-policy/typescript-expression-transformer.d.ts +26 -0
  85. package/plugins/access-policy/typescript-expression-transformer.js +111 -0
  86. package/plugins/access-policy/typescript-expression-transformer.js.map +1 -0
  87. package/plugins/access-policy/utils.d.ts +5 -0
  88. package/plugins/access-policy/utils.js +14 -0
  89. package/plugins/access-policy/utils.js.map +1 -0
  90. package/plugins/access-policy/zod-schema-generator.d.ts +12 -0
  91. package/plugins/access-policy/zod-schema-generator.js +158 -0
  92. package/plugins/access-policy/zod-schema-generator.js.map +1 -0
  93. package/plugins/model-meta/index.d.ts +4 -0
  94. package/plugins/model-meta/index.js +168 -0
  95. package/plugins/model-meta/index.js.map +1 -0
  96. package/plugins/plugin-utils.d.ts +16 -0
  97. package/plugins/plugin-utils.js +54 -0
  98. package/plugins/plugin-utils.js.map +1 -0
  99. package/plugins/prisma/indent-string.d.ts +4 -0
  100. package/plugins/prisma/indent-string.js +12 -0
  101. package/plugins/prisma/indent-string.js.map +1 -0
  102. package/plugins/prisma/index.d.ts +4 -0
  103. package/plugins/prisma/index.js +24 -0
  104. package/plugins/prisma/index.js.map +1 -0
  105. package/plugins/prisma/prisma-builder.d.ts +152 -0
  106. package/plugins/prisma/prisma-builder.js +363 -0
  107. package/plugins/prisma/prisma-builder.js.map +1 -0
  108. package/plugins/prisma/schema-generator.d.ts +25 -0
  109. package/plugins/prisma/schema-generator.js +292 -0
  110. package/plugins/prisma/schema-generator.js.map +1 -0
  111. package/plugins/prisma/zmodel-code-generator.d.ts +28 -0
  112. package/plugins/prisma/zmodel-code-generator.js +114 -0
  113. package/plugins/prisma/zmodel-code-generator.js.map +1 -0
  114. package/res/prism-zmodel.js +20 -0
  115. package/res/starter.zmodel +51 -0
  116. package/res/stdlib.zmodel +346 -0
  117. package/telemetry.d.ts +20 -0
  118. package/telemetry.js +119 -0
  119. package/telemetry.js.map +1 -0
  120. package/types.d.ts +12 -0
  121. package/types.js +3 -0
  122. package/types.js.map +1 -0
  123. package/utils/ast-utils.d.ts +16 -0
  124. package/utils/ast-utils.js +85 -0
  125. package/utils/ast-utils.js.map +1 -0
  126. package/utils/exec-utils.d.ts +6 -0
  127. package/utils/exec-utils.js +13 -0
  128. package/utils/exec-utils.js.map +1 -0
  129. package/utils/pkg-utils.d.ts +3 -0
  130. package/utils/pkg-utils.js +46 -0
  131. package/utils/pkg-utils.js.map +1 -0
  132. package/utils/version-utils.d.ts +1 -0
  133. package/utils/version-utils.js +14 -0
  134. package/utils/version-utils.js.map +1 -0
  135. package/.vscode/extensions.json +0 -7
  136. package/.vscode/launch.json +0 -49
  137. package/.vscode/settings.json +0 -4
  138. package/packages/internal/jest.config.ts +0 -32
  139. package/packages/internal/package.json +0 -42
  140. package/packages/internal/src/constants.ts +0 -1
  141. package/packages/internal/src/handler/data/guard-utils.ts +0 -7
  142. package/packages/internal/src/handler/data/handler.ts +0 -415
  143. package/packages/internal/src/handler/data/query-processor.ts +0 -504
  144. package/packages/internal/src/handler/index.ts +0 -1
  145. package/packages/internal/src/handler/types.ts +0 -20
  146. package/packages/internal/src/index.ts +0 -3
  147. package/packages/internal/src/request-handler.ts +0 -27
  148. package/packages/internal/src/request.ts +0 -101
  149. package/packages/internal/src/types.ts +0 -40
  150. package/packages/internal/tests/query-processor.test.ts +0 -172
  151. package/packages/internal/tsconfig.json +0 -21
  152. package/packages/runtime/auth.d.ts +0 -1
  153. package/packages/runtime/auth.js +0 -3
  154. package/packages/runtime/hooks.d.ts +0 -10
  155. package/packages/runtime/hooks.js +0 -3
  156. package/packages/runtime/index.d.ts +0 -3
  157. package/packages/runtime/index.js +0 -1
  158. package/packages/runtime/package-lock.json +0 -512
  159. package/packages/runtime/package.json +0 -16
  160. package/packages/runtime/server.d.ts +0 -1
  161. package/packages/runtime/server.js +0 -3
  162. package/packages/runtime/types.d.ts +0 -1
  163. package/packages/runtime/types.js +0 -3
  164. package/packages/schema/.eslintrc.json +0 -13
  165. package/packages/schema/.vscodeignore +0 -4
  166. package/packages/schema/asset/logo-dark.png +0 -0
  167. package/packages/schema/asset/logo-light.png +0 -0
  168. package/packages/schema/bin/cli +0 -3
  169. package/packages/schema/jest.config.ts +0 -32
  170. package/packages/schema/langium-config.json +0 -14
  171. package/packages/schema/langium-quickstart.md +0 -41
  172. package/packages/schema/language-configuration.json +0 -30
  173. package/packages/schema/package.json +0 -96
  174. package/packages/schema/src/cli/cli-util.ts +0 -80
  175. package/packages/schema/src/cli/index.ts +0 -64
  176. package/packages/schema/src/extension.ts +0 -76
  177. package/packages/schema/src/generator/constants.ts +0 -5
  178. package/packages/schema/src/generator/index.ts +0 -92
  179. package/packages/schema/src/generator/next-auth/index.ts +0 -197
  180. package/packages/schema/src/generator/package.template.json +0 -9
  181. package/packages/schema/src/generator/prisma/expression-writer.ts +0 -352
  182. package/packages/schema/src/generator/prisma/index.ts +0 -32
  183. package/packages/schema/src/generator/prisma/plain-expression-builder.ts +0 -91
  184. package/packages/schema/src/generator/prisma/prisma-builder.ts +0 -366
  185. package/packages/schema/src/generator/prisma/query-gard-generator.ts +0 -208
  186. package/packages/schema/src/generator/prisma/schema-generator.ts +0 -300
  187. package/packages/schema/src/generator/react-hooks/index.ts +0 -181
  188. package/packages/schema/src/generator/service/index.ts +0 -107
  189. package/packages/schema/src/generator/tsconfig.template.json +0 -17
  190. package/packages/schema/src/generator/types.ts +0 -17
  191. package/packages/schema/src/generator/utils.ts +0 -9
  192. package/packages/schema/src/language-server/generated/ast.ts +0 -603
  193. package/packages/schema/src/language-server/generated/grammar.ts +0 -2190
  194. package/packages/schema/src/language-server/generated/module.ts +0 -24
  195. package/packages/schema/src/language-server/main.ts +0 -12
  196. package/packages/schema/src/language-server/stdlib.zmodel +0 -22
  197. package/packages/schema/src/language-server/types.ts +0 -9
  198. package/packages/schema/src/language-server/zmodel-index.ts +0 -33
  199. package/packages/schema/src/language-server/zmodel-linker.ts +0 -409
  200. package/packages/schema/src/language-server/zmodel-module.ts +0 -90
  201. package/packages/schema/src/language-server/zmodel-scope.ts +0 -21
  202. package/packages/schema/src/language-server/zmodel-validator.ts +0 -35
  203. package/packages/schema/src/language-server/zmodel.langium +0 -186
  204. package/packages/schema/src/utils/exec-utils.ts +0 -5
  205. package/packages/schema/src/utils/indent-string.ts +0 -6
  206. package/packages/schema/syntaxes/zmodel.json +0 -57
  207. package/packages/schema/syntaxes/zmodel.tmLanguage.json +0 -57
  208. package/packages/schema/tests/generator/expression-writer.test.ts +0 -676
  209. package/packages/schema/tests/generator/prisma-builder.test.ts +0 -138
  210. package/packages/schema/tests/schema/parser.test.ts +0 -423
  211. package/packages/schema/tests/schema/sample-todo.test.ts +0 -14
  212. package/packages/schema/tests/utils.ts +0 -38
  213. package/packages/schema/tsconfig.json +0 -23
  214. package/pnpm-workspace.yaml +0 -3
  215. package/samples/todo/.env +0 -2
  216. package/samples/todo/.eslintrc.json +0 -3
  217. package/samples/todo/.vscode/launch.json +0 -11
  218. package/samples/todo/README.md +0 -34
  219. package/samples/todo/components/AuthGuard.tsx +0 -17
  220. package/samples/todo/components/Avatar.tsx +0 -22
  221. package/samples/todo/components/BreadCrumb.tsx +0 -44
  222. package/samples/todo/components/ManageMembers.tsx +0 -134
  223. package/samples/todo/components/NavBar.tsx +0 -57
  224. package/samples/todo/components/SpaceMembers.tsx +0 -76
  225. package/samples/todo/components/Spaces.tsx +0 -28
  226. package/samples/todo/components/TimeInfo.tsx +0 -17
  227. package/samples/todo/components/Todo.tsx +0 -72
  228. package/samples/todo/components/TodoList.tsx +0 -77
  229. package/samples/todo/lib/context.ts +0 -31
  230. package/samples/todo/next.config.js +0 -10
  231. package/samples/todo/package-lock.json +0 -7527
  232. package/samples/todo/package.json +0 -45
  233. package/samples/todo/pages/_app.tsx +0 -50
  234. package/samples/todo/pages/api/auth/[...nextauth].ts +0 -83
  235. package/samples/todo/pages/api/zenstack/[...path].ts +0 -16
  236. package/samples/todo/pages/create-space.tsx +0 -114
  237. package/samples/todo/pages/index.tsx +0 -32
  238. package/samples/todo/pages/space/[slug]/[listId]/index.tsx +0 -88
  239. package/samples/todo/pages/space/[slug]/index.tsx +0 -169
  240. package/samples/todo/postcss.config.js +0 -6
  241. package/samples/todo/public/avatar.jpg +0 -0
  242. package/samples/todo/public/favicon.ico +0 -0
  243. package/samples/todo/public/logo.png +0 -0
  244. package/samples/todo/public/vercel.svg +0 -4
  245. package/samples/todo/styles/globals.css +0 -7
  246. package/samples/todo/tailwind.config.js +0 -11
  247. package/samples/todo/tsconfig.json +0 -28
  248. package/samples/todo/types/next-auth.d.ts +0 -14
  249. package/samples/todo/types/next.d.ts +0 -16
  250. package/samples/todo/zenstack/migrations/20221014084317_init/migration.sql +0 -153
  251. package/samples/todo/zenstack/migrations/20221020094651_upate_cli/migration.sql +0 -23
  252. package/samples/todo/zenstack/migrations/migration_lock.toml +0 -3
  253. package/samples/todo/zenstack/schema.prisma +0 -126
  254. package/samples/todo/zenstack/schema.zmodel +0 -161
  255. package/tests/integration/jest.config.ts +0 -16
  256. package/tests/integration/package-lock.json +0 -1081
  257. package/tests/integration/package.json +0 -27
  258. package/tests/integration/tests/operation-coverate.test.ts +0 -563
  259. package/tests/integration/tests/operations.zmodel +0 -69
  260. package/tests/integration/tests/todo-e2e.test.ts +0 -577
  261. package/tests/integration/tests/todo.zmodel +0 -123
  262. package/tests/integration/tests/tsconfig.template.json +0 -10
  263. package/tests/integration/tests/utils.ts +0 -133
  264. package/tests/integration/tsconfig.json +0 -10
@@ -1,186 +0,0 @@
1
- grammar ZModel
2
-
3
- entry Model:
4
- (
5
- declarations+=AbstractDeclaration
6
- )*;
7
-
8
- AbstractDeclaration:
9
- DataSource | DataModel | Enum | Function | Attribute;
10
-
11
- // datasource
12
- DataSource:
13
- 'datasource' name=ID '{' (fields+=DataSourceField)+ '}';
14
-
15
- DataSourceField:
16
- (name=ID '=' value=(LiteralExpr|InvocationExpr));
17
-
18
- // expression
19
- Expression:
20
- LogicalExpr;
21
-
22
- LiteralExpr:
23
- value=(BOOLEAN | INT | STRING);
24
-
25
- ArrayExpr:
26
- '[' (items+=Expression (',' items+=Expression)*)? ']';
27
-
28
- type ReferenceTarget = FunctionParam | DataModelField | EnumField;
29
-
30
- ThisExpr:
31
- value=THIS;
32
-
33
- NullExpr:
34
- value=NULL;
35
-
36
- ReferenceExpr:
37
- target=[ReferenceTarget:ID] ('(' ReferenceArgList ')')?;
38
-
39
- fragment ReferenceArgList:
40
- args+=ReferenceArg (',' args+=ReferenceArg)*;
41
-
42
- ReferenceArg:
43
- name=('sort') ':' value=('Asc'| 'Desc');
44
-
45
- InvocationExpr:
46
- function=[Function] '(' ArgumentList? ')';
47
-
48
- UnaryExpr:
49
- operator=('!') operand=Expression;
50
-
51
- // binary operator precedence follow Javascript's rules:
52
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#table
53
-
54
- MemberAccessExpr infers Expression:
55
- PrimaryExpr (
56
- {infer MemberAccessExpr.operand=current}
57
- ('.' member=[DataModelField])
58
- )*;
59
-
60
- CollectionPredicateExpr infers Expression:
61
- MemberAccessExpr (
62
- {infer BinaryExpr.left=current}
63
- operator=('?'|'!'|'^')
64
- '[' right=Expression ']'
65
- )*;
66
-
67
- // TODO: support arithmetics?
68
- //
69
- // MultDivExpr infers Expression:
70
- // CollectionPredicateExpr (
71
- // {infer BinaryExpr.left=current}
72
- // operator=('*'|'/')
73
- // right=CollectionPredicateExpr
74
- // )*;
75
-
76
- // AddSubExpr infers Expression:
77
- // MultDivExpr (
78
- // {infer BinaryExpr.left=current}
79
- // operator=('+'|'-')
80
- // right=MultDivExpr
81
- // )*;
82
-
83
- ComparisonExpr infers Expression:
84
- CollectionPredicateExpr (
85
- {infer BinaryExpr.left=current}
86
- operator=('>'|'<'|'>='|'<=')
87
- right=CollectionPredicateExpr
88
- )*;
89
-
90
- EqualityExpr infers Expression:
91
- ComparisonExpr (
92
- {infer BinaryExpr.left=current}
93
- operator=('=='|'!=')
94
- right=ComparisonExpr
95
- )*;
96
-
97
- LogicalExpr infers Expression:
98
- EqualityExpr (
99
- {infer BinaryExpr.left=current}
100
- operator=('&&'|'||')
101
- right=EqualityExpr
102
- )*;
103
-
104
- PrimaryExpr infers Expression:
105
- '(' Expression ')' |
106
- ThisExpr |
107
- NullExpr |
108
- LiteralExpr |
109
- InvocationExpr |
110
- ArrayExpr|
111
- ReferenceExpr |
112
- UnaryExpr;
113
-
114
- fragment ArgumentList:
115
- args+=Argument (',' args+=Argument)*;
116
-
117
- Argument:
118
- (name=ID ':')? value=Expression;
119
-
120
- // model
121
- DataModel:
122
- 'model' name=ID '{' (
123
- fields+=DataModelField
124
- | attributes+=DataModelAttribute
125
- )+
126
- '}';
127
-
128
- DataModelField:
129
- name=ID type=DataModelFieldType (attributes+=DataModelFieldAttribute)*;
130
-
131
- DataModelFieldType:
132
- (BuiltinType | reference=[TypeDeclaration:ID]) (array?='[]')? (optional?='?')?;
133
-
134
- // enum
135
- Enum:
136
- 'enum' name=ID '{' (fields+=EnumField)+ '}';
137
-
138
- EnumField:
139
- name=ID;
140
-
141
- // function
142
- Function:
143
- 'function' name=ID '(' (params+=FunctionParam (',' params+=FunctionParam)*)? ')' returnType=FunctionParamType '{' (expression=Expression)? '}';
144
-
145
- FunctionParam:
146
- name=ID type=FunctionParamType;
147
-
148
- FunctionParamType:
149
- (BuiltinType | reference=[TypeDeclaration]) (array?='[]')?;
150
-
151
- // attribute
152
- Attribute:
153
- 'attribute' name=ID '(' (params+=AttributeParam (',' params+=AttributeParam)*)? ')';
154
-
155
- AttributeParam:
156
- positional?='_' name=ID type=AttributeParamType;
157
-
158
- AttributeParamType:
159
- (BuiltinType | type='FieldReference') array?='[]' optional?='?';
160
-
161
- type TypeDeclaration = DataModel | Enum;
162
-
163
- DataModelFieldAttribute:
164
- '@' decl=[Attribute] ('(' AttributeArgList? ')')?;
165
-
166
- DataModelAttribute:
167
- '@@' decl=[Attribute] ('(' AttributeArgList? ')')?;
168
-
169
- fragment AttributeArgList:
170
- args+=AttributeArg (',' args+=AttributeArg)*;
171
-
172
- AttributeArg:
173
- (name=ID ':')? value=Expression;
174
-
175
- fragment BuiltinType:
176
- type=('String'|'Boolean'|'Int'|'DateTime'|'JSON');
177
-
178
- hidden terminal WS: /\s+/;
179
- terminal BOOLEAN returns boolean: /true|false/;
180
- terminal NULL: 'null';
181
- terminal THIS: 'this';
182
- terminal ID: /[_a-zA-Z][\w_]*/;
183
- terminal STRING: /"[^"]*"|'[^']*'/;
184
- terminal INT returns number: /[+-]?[0-9]+/;
185
- hidden terminal ML_COMMENT: /\/\*[\s\S]*?\*\//;
186
- hidden terminal SL_COMMENT: /\/\/[^\n\r]*/;
@@ -1,5 +0,0 @@
1
- import { execSync as _exec } from 'child_process';
2
-
3
- export function execSync(cmd: string) {
4
- _exec(cmd, { encoding: 'utf-8', stdio: 'inherit' });
5
- }
@@ -1,6 +0,0 @@
1
- // https://github.com/sindresorhus/indent-string
2
-
3
- export default function indentString(string: string, count = 4) {
4
- const indent = ' ';
5
- return string.replace(/^(?!\s*$)/gm, indent.repeat(count));
6
- }
@@ -1,57 +0,0 @@
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(Boolean|datasource|enum|model|String)\\b"
14
- },
15
- {
16
- "name": "string.quoted.double.zmodel",
17
- "begin": "\"",
18
- "end": "\""
19
- },
20
- {
21
- "name": "string.quoted.single.zmodel",
22
- "begin": "'",
23
- "end": "'"
24
- }
25
- ],
26
- "repository": {
27
- "comments": {
28
- "patterns": [
29
- {
30
- "name": "comment.block.zmodel",
31
- "begin": "/\\*",
32
- "beginCaptures": {
33
- "0": {
34
- "name": "punctuation.definition.comment.zmodel"
35
- }
36
- },
37
- "end": "\\*/",
38
- "endCaptures": {
39
- "0": {
40
- "name": "punctuation.definition.comment.zmodel"
41
- }
42
- }
43
- },
44
- {
45
- "begin": "//",
46
- "beginCaptures": {
47
- "1": {
48
- "name": "punctuation.whitespace.comment.leading.zmodel"
49
- }
50
- },
51
- "end": "(?=$)",
52
- "name": "comment.line.zmodel"
53
- }
54
- ]
55
- }
56
- }
57
- }
@@ -1,57 +0,0 @@
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(Asc|attribute|Boolean|datasource|DateTime|Desc|enum|FieldReference|function|Int|JSON|model|sort|String)\\b"
14
- },
15
- {
16
- "name": "string.quoted.double.zmodel",
17
- "begin": "\"",
18
- "end": "\""
19
- },
20
- {
21
- "name": "string.quoted.single.zmodel",
22
- "begin": "'",
23
- "end": "'"
24
- }
25
- ],
26
- "repository": {
27
- "comments": {
28
- "patterns": [
29
- {
30
- "name": "comment.block.zmodel",
31
- "begin": "/\\*",
32
- "beginCaptures": {
33
- "0": {
34
- "name": "punctuation.definition.comment.zmodel"
35
- }
36
- },
37
- "end": "\\*/",
38
- "endCaptures": {
39
- "0": {
40
- "name": "punctuation.definition.comment.zmodel"
41
- }
42
- }
43
- },
44
- {
45
- "begin": "//",
46
- "beginCaptures": {
47
- "1": {
48
- "name": "punctuation.whitespace.comment.leading.zmodel"
49
- }
50
- },
51
- "end": "(?=$)",
52
- "name": "comment.line.zmodel"
53
- }
54
- ]
55
- }
56
- }
57
- }