Skip to content

Commit c519480

Browse files
authored
feat: vscode extension (#23)
1 parent 53bf171 commit c519480

22 files changed

+422
-21
lines changed

.vscode/launch.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,28 @@
4545
// Ignore all dependencies (optional)
4646
"${workspaceFolder}/node_modules/**"
4747
]
48+
},
49+
{
50+
"name": "Run Extension",
51+
"type": "extensionHost",
52+
"request": "launch",
53+
"args": [
54+
"--extensionDevelopmentPath=${workspaceFolder}/packages/ide/vscode"
55+
],
56+
"sourceMaps": true,
57+
"outFiles": ["${workspaceFolder}/packages/ide/vscode/dist/**/*.js"]
58+
},
59+
{
60+
"name": "Attach to Language Server",
61+
"type": "node",
62+
"port": 6009,
63+
"request": "attach",
64+
"skipFiles": ["<node_internals>/**"],
65+
"sourceMaps": true,
66+
"outFiles": [
67+
"${workspaceFolder}/packages/ide/vscode/dist/**/*.js",
68+
"${workspaceFolder}/packages/ide/vscode/node_modules/langium"
69+
]
4870
}
4971
]
5072
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
"keywords": [],
1515
"author": "",
16-
"license": "ISC",
16+
"license": "MIT",
1717
"devDependencies": {
1818
"@swc/core": "^1.10.15",
1919
"@typescript-eslint/eslint-plugin": "~7.3.1",

packages/ide/vscode/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
syntaxes/

packages/ide/vscode/LICENSE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../LICENSE
18.4 KB
Loading
22.8 KB
Loading
23 KB
Loading
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"comments": {
3+
// symbol used for single line comment. Remove this entry if your language does not support line comments
4+
"lineComment": "//",
5+
// symbols used for start and end a block comment. Remove this entry if your language does not support block comments
6+
"blockComment": ["/*", "*/"]
7+
},
8+
// symbols used as brackets
9+
"brackets": [
10+
["{", "}"],
11+
["[", "]"],
12+
["(", ")"]
13+
],
14+
// symbols that are auto closed when typing
15+
"autoClosingPairs": [
16+
["{", "}"],
17+
["[", "]"],
18+
["(", ")"],
19+
["\"", "\""],
20+
["'", "'"],
21+
{ "open": "/**", "close": " */", "notIn": ["string"] }
22+
],
23+
// symbols that can be used to surround a selection
24+
"surroundingPairs": [
25+
["{", "}"],
26+
["[", "]"],
27+
["(", ")"],
28+
["\"", "\""],
29+
["'", "'"]
30+
],
31+
"wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\#\\%\\^\\&\\*\\-\\=\\+\\{\\}\\(\\)\\[\\]\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)"
32+
}

packages/ide/vscode/package.json

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{
2+
"name": "zenstack",
3+
"publisher": "zenstack",
4+
"version": "3.0.0",
5+
"displayName": "ZenStack Language Tools",
6+
"description": "VSCode extension for ZenStack ZModel language",
7+
"private": true,
8+
"repository": {
9+
"type": "git",
10+
"url": "https://github.com/zenstackhq/zenstack-v3"
11+
},
12+
"scripts": {
13+
"build": "tsc --noEmit && tsup",
14+
"watch": "run-p watch:*",
15+
"watch:tsc": "tsc --watch --noEmit",
16+
"watch:tsup": "tsup --watch",
17+
"lint": "eslint src --ext ts",
18+
"vscode:publish": "pnpm build && vsce publish --no-dependencies --pre-release --follow-symlinks",
19+
"vscode:package": "pnpm build && vsce package --no-dependencies"
20+
},
21+
"homepage": "https://zenstack.dev",
22+
"icon": "asset/logo-256-bg.png",
23+
"keywords": [
24+
"fullstack",
25+
"react",
26+
"typescript",
27+
"data modeling",
28+
"prisma"
29+
],
30+
"author": {
31+
"name": "ZenStack Team"
32+
},
33+
"license": "MIT",
34+
"packageManager": "[email protected]",
35+
"dependencies": {
36+
"langium": "~3.3.0",
37+
"vscode-languageclient": "^9.0.1",
38+
"vscode-languageserver": "^9.0.1",
39+
"@zenstackhq/language": "workspace:*"
40+
},
41+
"devDependencies": {
42+
"@types/vscode": "^1.63.0"
43+
},
44+
"files": [
45+
"dist",
46+
"res",
47+
"syntaxes",
48+
"asset",
49+
"language-configuration.json"
50+
],
51+
"engines": {
52+
"vscode": "^1.63.0",
53+
"node": ">=18.0.0"
54+
},
55+
"categories": [
56+
"Programming Languages"
57+
],
58+
"contributes": {
59+
"languages": [
60+
{
61+
"id": "zmodel",
62+
"aliases": [
63+
"ZenStack Model",
64+
"zmodel"
65+
],
66+
"extensions": [
67+
".zmodel"
68+
],
69+
"configuration": "./language-configuration.json",
70+
"icon": {
71+
"light": "./asset/logo-light-256.png",
72+
"dark": "./asset/logo-dark-256.png"
73+
}
74+
}
75+
],
76+
"grammars": [
77+
{
78+
"language": "zmodel",
79+
"scopeName": "source.zmodel",
80+
"path": "./syntaxes/zmodel.tmLanguage.json"
81+
}
82+
]
83+
},
84+
"activationEvents": [
85+
"onLanguage:zmodel"
86+
],
87+
"main": "./dist/extension.js"
88+
}

packages/ide/vscode/res

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../language/res

0 commit comments

Comments
 (0)