forked from naichabaobao/jass
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
312 lines (312 loc) · 10 KB
/
Copy pathpackage.json
File metadata and controls
312 lines (312 loc) · 10 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
{
"name": "jass",
"displayName": "JASS/vJass/Zinc Language Tools",
"description": "完整的 JASS/vJass/Zinc 语言支持,包括语法高亮、代码补全、跳转定义、悬停提示、错误诊断、代码格式化等功能。支持 vJass 的库、结构、接口、模块、委托等特性,以及 Zinc 的 C-like 语法。QQ群:786204376",
"publisher": "jass",
"icon": "static/jass.png",
"version": "1.9.17",
"keywords": [
"jass",
"vjass",
"zinc",
"warcraft",
"war3",
"warcraft3",
"jasshelper",
"语法高亮",
"代码补全",
"语言支持"
],
"engines": {
"vscode": "^1.63.0"
},
"markdown": "github",
"categories": [
"Programming Languages",
"Snippets",
"Formatters"
],
"repository": {
"type": "git",
"url": "https://github.com/naichabaobao/jass"
},
"homepage": "https://github.com/naichabaobao/jass",
"activationEvents": [
"onLanguage:jass",
"onLanguage:jass-zinc"
],
"main": "./out/extension.js",
"contributes": {
"configuration": {
"type": "object",
"title": "Jass",
"properties": {
"jass.diagnostic": {
"type": "boolean",
"default": true,
"description": "(测试)诊断支持,不支持包含 Lua 和预处理代码的文件"
},
"jass.literal.completion": {
"type": "boolean",
"default": false,
"description": "启用字面值补全建议(字符串、数字、四字码)。默认:关闭,以减少干扰。"
},
"jass.literal.hover": {
"type": "boolean",
"default": true,
"description": "启用字面值悬停提示和定义跳转(API、函数、变量、字符串、数字、四字码)。默认:开启。"
},
"jass.keywordDefinition": {
"type": "boolean",
"default": false,
"markdownDescription": "启用后,在 JASS/vJass **关键字**上执行**转到定义**(例如 Ctrl+点击)会在内置 Webview 中打开关键字文档。禁用(默认)时,关键字点击不会走此路径,因此不影响正常符号跳转。修改此选项后需重新加载窗口。"
},
"jass.hint": {
"type": "boolean",
"default": false,
"description": "启用函数参数和方法调用的提示支持。这是一项实验性功能。"
},
"jass.apiVersion": {
"type": "string",
"default": "off",
"enum": [
"off",
"1.20",
"1.24",
"1.26a",
"1.27",
"1.27a",
"1.28f",
"1.29",
"1.30",
"1.31",
"1.32",
"1.33",
"1.36",
"2.00",
"2.02",
"2.03"
],
"markdownDescription": "用于补全行为的魔兽争霸 III API 版本偏好。在旧版本(`1.20/1.24/1.26a/1.27/1.27a`)中,`@since` 标记晚于所选版本的 API 将被过滤掉。在其他版本中,较新的 API 将降低优先级。没有版本标记的项目保持不变。"
},
"jass.compiler.pjassPath": {
"type": "string",
"format": "file",
"default": "",
"description": "pjass.exe 路径(用于 JASS 语法检查)。留空则使用扩展内置版本。",
"scope": "machine"
},
"jass.compiler.commonJ": {
"type": "string",
"format": "file",
"default": "",
"description": "common.j 路径(用于显示中文 API 注释)。留空则使用扩展内置版本。",
"scope": "machine"
},
"jass.compiler.blizzardJ": {
"type": "string",
"format": "file",
"default": "",
"description": "Blizzard.j 路径(用于显示中文 API 注释)。留空则使用扩展内置版本。",
"scope": "machine"
},
"jass.compiler.commonAi": {
"type": "string",
"format": "file",
"default": "",
"description": "common.ai 路径(用于显示中文 API 注释)。留空则使用扩展内置版本。",
"scope": "machine"
},
"jass.compiler.checkCommonJ": {
"type": "string",
"format": "file",
"default": "",
"description": "编译检查用的 common.j 路径。留空则使用 jass.compiler.commonJ 路径。",
"scope": "machine"
},
"jass.compiler.checkBlizzardJ": {
"type": "string",
"format": "file",
"default": "",
"description": "编译检查用的 Blizzard.j 路径。留空则使用 jass.compiler.blizzardJ 路径。",
"scope": "machine"
},
"jass.compiler.checkCommonAi": {
"type": "string",
"format": "file",
"default": "",
"description": "编译检查用的 common.ai 路径。留空则使用 jass.compiler.commonAi 路径。",
"scope": "machine"
},
"jass.additionalExtensions": {
"type": "array",
"default": [],
"items": {
"type": "string"
},
"description": "额外识别的 JASS 文件格式(不含点,如 \"lua\"、\"eai\" 等)。添加后这些扩展名的文件会被当作 JASS 文件处理,支持语法高亮、悬停提示、跳转定义等功能。修改后需重新加载窗口生效。"
}
}
},
"languages": [
{
"id": "jass",
"aliases": [
"jass",
"jass2",
"vjass"
],
"extensions": [
".j",
".ai",
".jass"
],
"configuration": "./static/jass-configuration.json"
},
{
"id": "jass-zinc",
"aliases": [
"zinc"
],
"extensions": [
".zn"
],
"configuration": "./static/jass-configuration.json"
}
],
"grammars": [
{
"scopeName": "source.jass",
"language": "jass",
"path": "./static/jass.tmLanguage.json"
},
{
"scopeName": "source.zinc",
"language": "jass-zinc",
"path": "./static/zinc.tmLanguage.json"
}
],
"snippets": [
{
"language": "jass",
"path": "./static/snippets.json"
},
{
"language": "jass-zinc",
"path": "./static/snippets.json"
}
],
"documentFormattingProvider": true,
"enableProposedApi": false,
"codeLensProvider": {
"resolveProvider": "true"
},
"commands": [
{
"command": "jass.createConfigFile",
"title": "create jass.config.json"
},
{
"command": "jass.openReplacementSymbol",
"title": "JASS: Open Replacement Symbol"
},
{
"command": "jass.checkTrigger",
"title": "编译自定义触发",
"category": "JASS"
},
{
"command": "jass.checkAILibrary",
"title": "编译自定义库(Blizzard.j或common.ai)",
"category": "JASS"
},
{
"command": "jass.checkAI",
"title": "编译自定义ai脚本",
"category": "JASS"
}
],
"submenus": [
{
"id": "jass.submenu",
"label": "JASS"
}
],
"menus": {
"explorer/context": [
{
"command": "jass.createConfigFile",
"when": "explorerResourceIsFolder",
"group": "jass"
}
],
"editor/context": [
{
"submenu": "jass.submenu",
"when": "editorLangId == jass",
"group": "jass@1"
}
],
"jass.submenu": [
{
"command": "jass.checkTrigger",
"when": "editorLangId == jass",
"group": "1_check@1"
},
{
"command": "jass.checkAI",
"when": "editorLangId == jass",
"group": "1_check@2"
},
{
"command": "jass.checkAILibrary",
"when": "editorLangId == jass",
"group": "1_check@3"
}
]
},
"iconThemes": [
{
"id": "jass-icons",
"label": "JASS Icons",
"path": "./static/jass-icon-theme.json"
}
]
},
"capabilities": {
"documentSymbolProvider": "true",
"workspaceSymbolProvider": "true"
},
"scripts": {
"compile": "tsc -p ./ && node -e \"const fs=require('fs'),p=require('path');const d='out/extern/pjass';fs.mkdirSync(d,{recursive:true});['pjass.exe','pjass-readme.txt'].forEach(f=>{const s=p.join('src/extern/pjass',f);if(fs.existsSync(s)){fs.copyFileSync(s,p.join(d,f));console.log('Copied:',f)}});\"",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile",
"test": "npm run test:parser && npm run test:analyzer",
"test:e2e": "node out/test/runTest.js",
"test:parser": "node out/vjass/parser.test.js",
"test:analyzer": "node -e \"const { runAnalyzerTests } = require('./out/vjass/analyzer.test.js'); runAnalyzerTests();\"",
"test:codeaction": "node -e \"const { runCodeActionUtilsTests } = require('./out/provider/code-action-utils.test.js'); runCodeActionUtilsTests();\"",
"test:inlay": "node out/provider/inlay-hints-provider.test.js",
"test:completion-version": "node out/provider/completion-version-filter.test.js",
"test:version-gates": "node out/provider/version-gates.test.js",
"test:type": "node -e \"const { runAnalyzerTypeTests } = require('./out/vjass/analyzer.test.js'); runAnalyzerTypeTests();\"",
"package": "npx @vscode/vsce package",
"publish:skip-duplicate": "npx @vscode/vsce publish --skip-duplicate --no-dependencies",
"publish": "npx @vscode/vsce publish --no-dependencies",
"prepublishOnly": "npm run compile",
"fix-dependencies": "npm install --production"
},
"devDependencies": {
"@types/node": "^14.14.31",
"@types/mocha": "^10.0.7",
"@vscode/test-electron": "^2.5.2",
"@types/vscode": "^1.49.3",
"mocha": "^10.8.2",
"typescript": "^4.9.4"
},
"bugs": {
"url": "https://github.com/naichabaobao/jass/issues"
},
"author": "家猫hoo",
"license": "GPL"
}