-
Notifications
You must be signed in to change notification settings - Fork 36
/
package.json
333 lines (333 loc) · 10.1 KB
/
package.json
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
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
{
"name": "vscode-hack",
"version": "2.20.0",
"publisher": "pranayagarwal",
"engines": {
"vscode": "^1.74.0"
},
"license": "MIT",
"displayName": "Hack",
"description": "Hack language & HHVM debugger support for Visual Studio Code",
"icon": "images/logo.png",
"categories": [
"Programming Languages",
"Debuggers",
"Linters",
"Snippets",
"Formatters",
"Other"
],
"keywords": [
"hack",
"hacklang",
"hhvm",
"php"
],
"galleryBanner": {
"color": "#5d5d5d",
"theme": "dark"
},
"author": {
"name": "Pranay Agarwal"
},
"repository": {
"type": "git",
"url": "https://github.com/slackhq/vscode-hack.git"
},
"bugs": {
"url": "https://github.com/slackhq/vscode-hack/issues"
},
"main": "./out/main",
"contributes": {
"languages": [
{
"id": "hack",
"aliases": [
"Hack",
"hacklang"
],
"configuration": "./hack.configuration.json",
"extensions": [
".php",
".hh",
".hack"
],
"firstLine": "^<\\?hh\\b.*|#!.*hhvm.*$"
},
{
"id": "ini",
"aliases": [
"Hack Configuration",
"hack",
"hacklang"
],
"filenames": [
".hhconfig"
]
}
],
"grammars": [
{
"language": "hack",
"scopeName": "source.hack",
"path": "./syntaxes/hack.json"
},
{
"scopeName": "markdown.hack.codeblock",
"path": "./syntaxes/codeblock.json",
"injectTo": [
"text.html.markdown"
],
"embeddedLanguages": {
"meta.embedded.block.hack": "hack"
}
}
],
"snippets": [
{
"language": "hack",
"path": "./snippets/hack.json"
}
],
"breakpoints": [
{
"language": "hack"
}
],
"debuggers": [
{
"type": "hhvm",
"label": "HHVM",
"program": "./out/debugger",
"runtime": "node",
"languages": [
"hack"
],
"configurationAttributes": {
"attach": {
"properties": {
"host": {
"type": "string",
"description": "Host name/IP address of HHVM server (default: localhost)",
"default": "localhost"
},
"port": {
"type": "number",
"description": "Debug port to attach to (default: 8999)",
"default": 8999
},
"socket": {
"type": "string",
"description": "Path to the Unix domain socket to attach to"
},
"remoteSiteRoot": {
"type": "string",
"description": "Absolute path to workspace root on the remote server, to map to local workspace",
"default": "${workspaceFolder}"
},
"localWorkspaceRoot": {
"type": "string",
"description": "Absolute path to local workspace root, to map to remote server",
"default": "${workspaceFolder}"
},
"launchUrl": {
"type": "string",
"description": "Make an HTTP GET request to this URL once the debugger is attached, and automatically detach when the request is complete"
}
}
},
"launch": {
"properties": {
"hhvmPath": {
"type": "string",
"description": "Absolute path to HHVM executable for launching scripts (default: hhvm)",
"default": "hhvm"
},
"hhvmArgs": {
"type": "array",
"description": "Extra arguments to pass to the HHVM command when launching a script, if any"
},
"script": {
"type": "string",
"description": "The PHP/Hack script to launch",
"default": "${file}"
},
"cwd": {
"type": "string",
"description": "Working directory for the launched HHVM process",
"default": "${workspaceFolder}"
}
}
}
},
"configurationSnippets": [
{
"label": "HHVM: Attach to Server",
"description": "Attach to an HHVM server",
"body": {
"name": "HHVM: Attach to Server",
"type": "hhvm",
"request": "attach",
"host": "localhost",
"port": 8999,
"remoteSiteRoot": "^\"\\${workspaceFolder}\"",
"localWorkspaceRoot": "^\"\\${workspaceFolder}\""
}
},
{
"label": "HHVM: Run Script",
"description": "Run the current script",
"body": {
"name": "HHVM: Run Script",
"type": "hhvm",
"request": "launch",
"script": "^\"\\${file}\""
}
}
]
}
],
"configuration": {
"type": "object",
"title": "Hack configuration",
"properties": {
"hack.clientPath": {
"type": "string",
"default": "hh_client",
"description": "Absolute path to the hh_client executable. This can be left empty if hh_client is already in your environment $PATH."
},
"hack.workspaceRootPath": {
"type": "string",
"default": null,
"description": "Absolute path to the workspace root directory. This will be the VS Code workspace root by default, but can be changed if the project is in a subdirectory or mounted in a Docker container.",
"deprecationMessage": "Use hack.remote.workspacePath instead"
},
"hack.enableCoverageCheck": {
"type": "boolean",
"default": false,
"description": "Enable calculation of Hack type coverage percentage for every file and display in status bar."
},
"hack.useLanguageServer": {
"type": "boolean",
"default": true,
"description": "Start hh_client in Language Server mode. Only works for HHVM version 3.23 and above."
},
"hack.useHhast": {
"type": "boolean",
"default": true,
"description": "Enable linting (needs HHAST library set up and configured in project)",
"markdownDescription": "Enable linting (needs [HHAST](https://github.com/hhvm/hhast) library set up and configured in project)"
},
"hack.hhastPath": {
"type": "string",
"default": "vendor/bin/hhast-lint",
"description": "Use an alternate hhast-lint path. Can be abolute or relative to workspace root.",
"markdownDescription": "Use an alternate `hhast-lint` path. Can be abolute or relative to workspace root."
},
"hack.hhastArgs": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Optional list of arguments passed to hhast-lint executable"
},
"hack.hhastLintMode": {
"type": "string",
"enum": [
"whole-project",
"open-files"
],
"enumDescriptions": [
"Lint the entire project and show all errors",
"Only lint the currently open files"
],
"default": null,
"description": "Whether to lint the entire project or just the open files"
},
"hack.remote.enabled": {
"type": "boolean",
"default": false,
"description": "Run the Hack language tools on an external host"
},
"hack.remote.type": {
"type": "string",
"enum": [
"ssh",
"docker"
],
"enumDescriptions": [
"Run typechecker on a remote server via SSH",
"Run typechecker in a Docker container"
],
"description": "The remote connection method"
},
"hack.remote.workspacePath": {
"type": "string",
"description": "Absolute location of workspace root in the remote file system"
},
"hack.remote.ssh.host": {
"type": "string",
"description": "Address for the remote development server to connect to (in the format `[user@]hostname`)"
},
"hack.remote.ssh.flags": {
"type": "array",
"description": "Additional command line options to pass when establishing the SSH connection"
},
"hack.remote.docker.containerName": {
"type": "string",
"description": "Name of the local Docker container to run the language tools in"
},
"hack.trace.server": {
"type": "string",
"scope": "window",
"enum": [
"off",
"messages",
"verbose"
],
"default": "off",
"description": "Traces the communication between VS Code and the Hack & HHAST language servers"
}
}
},
"commands": [
{
"command": "hack.toggleCoverageHighlight",
"title": "Hack: Toggle Coverage Highlight"
}
]
},
"activationEvents": [
"workspaceContains:.hhconfig"
],
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"postinstall": "node ./build/notice-file-generate.js",
"pretest": "npm run compile",
"test": "node ./out/test/runTest.js",
"package": "vsce package"
},
"dependencies": {
"@vscode/debugadapter": "^1.65.0",
"@vscode/debugprotocol": "^1.65.0",
"vscode-languageclient": "^9.0.1"
},
"devDependencies": {
"@types/glob": "^8.1.0",
"@types/mocha": "^10.0.6",
"@types/node": "^20.11.24",
"@types/vscode": "^1.74.0",
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
"@vscode/test-electron": "^2.3.9",
"@vscode/vsce": "^2.24.0",
"eslint": "^8.57.0",
"glob": "^7.2.3",
"license-checker": "^25.0.1",
"mocha": "^10.3.0",
"typescript": "^5.3.3"
}
}