factoriomod-debug 2.0.13 → 2.0.14
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/CHANGELOG.md +6 -0
- package/dist/{chunk-S7WJEOJD.js → chunk-BNPPYMX5.js} +64 -64
- package/dist/fmtk-cli.js +65 -88
- package/dist/fmtk-vscode.js +1 -1
- package/package.json +1080 -1078
package/package.json
CHANGED
|
@@ -1,1078 +1,1080 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "factoriomod-debug",
|
|
3
|
-
"displayName": "Factorio Modding Tool Kit",
|
|
4
|
-
"version": "2.0.
|
|
5
|
-
"publisher": "justarandomgeek",
|
|
6
|
-
"description": "Debug Tools for developing Factorio Mods",
|
|
7
|
-
"author": {
|
|
8
|
-
"name": "justarandomgeek",
|
|
9
|
-
"email": "justarandomgeek@live.com"
|
|
10
|
-
},
|
|
11
|
-
"license": "MIT",
|
|
12
|
-
"keywords": [
|
|
13
|
-
"multi-root ready"
|
|
14
|
-
],
|
|
15
|
-
"engines": {
|
|
16
|
-
"vscode": "^1.116.0",
|
|
17
|
-
"node": ">=22.7.0"
|
|
18
|
-
},
|
|
19
|
-
"icon": "images/factoriomod-debug-icon.png",
|
|
20
|
-
"categories": [
|
|
21
|
-
"Debuggers",
|
|
22
|
-
"Programming Languages",
|
|
23
|
-
"Linters"
|
|
24
|
-
],
|
|
25
|
-
"repository": {
|
|
26
|
-
"type": "git",
|
|
27
|
-
"url": "git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git"
|
|
28
|
-
},
|
|
29
|
-
"bugs": {
|
|
30
|
-
"url": "https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"
|
|
31
|
-
},
|
|
32
|
-
"scripts": {
|
|
33
|
-
"lint": "eslint . --ext ts --flag unstable_native_nodejs_ts_config",
|
|
34
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
35
|
-
"typecheck-watch": "tsc -p tsconfig.json --noEmit --watch",
|
|
36
|
-
"esbuild": "node --experimental-transform-types ./build.ts",
|
|
37
|
-
"watch": "npm run esbuild -- --watch",
|
|
38
|
-
"stats": "npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html",
|
|
39
|
-
"vscode:prepublish": "npm run prepare",
|
|
40
|
-
"prepare": "rimraf dist && npm run esbuild -- --minify",
|
|
41
|
-
"package": "vsce package",
|
|
42
|
-
"publish-vscode": "vsce publish",
|
|
43
|
-
"publish-vscode-prerelease": "vsce publish --pre-release",
|
|
44
|
-
"test": "c8 node --experimental-transform-types --test ./test/*.spec.ts"
|
|
45
|
-
},
|
|
46
|
-
"devDependencies": {
|
|
47
|
-
"@inquirer/input": "^5.0.
|
|
48
|
-
"@inquirer/password": "^5.0.
|
|
49
|
-
"@stylistic/eslint-plugin": "^5.10.0",
|
|
50
|
-
"@types/archiver": "^7.0.0",
|
|
51
|
-
"@types/buffers": "^0.1.34",
|
|
52
|
-
"@types/d3": "^7.4.3",
|
|
53
|
-
"@types/dateformat": "^5.0.3",
|
|
54
|
-
"@types/ini": "^4.1.1",
|
|
55
|
-
"@types/inquirer": "^9.0.9",
|
|
56
|
-
"@types/mute-stream": "^0.0.4",
|
|
57
|
-
"@types/node": "^25.6.
|
|
58
|
-
"@types/readdir-glob": "^1.1.5",
|
|
59
|
-
"@types/request": "^2.48.13",
|
|
60
|
-
"@types/semver": "^7.7.1",
|
|
61
|
-
"@types/vscode": "^1.116.0",
|
|
62
|
-
"@types/vscode-webview": "^1.57.5",
|
|
63
|
-
"@vscode/codicons": "^0.0.45",
|
|
64
|
-
"@vscode/debugadapter": "^1.68.0",
|
|
65
|
-
"@vscode/debugadapter-testsupport": "^1.68.0",
|
|
66
|
-
"@vscode/vsce": "^3.9.1",
|
|
67
|
-
"@vscode/webview-ui-toolkit": "^1.4.0",
|
|
68
|
-
"archiver": "^
|
|
69
|
-
"c8": "^11.0.0",
|
|
70
|
-
"commander": "^14.0.3",
|
|
71
|
-
"d3": "^7.9.0",
|
|
72
|
-
"d3-flame-graph": "^5.0.0",
|
|
73
|
-
"dateformat": "^5.0.3",
|
|
74
|
-
"dotize": "^0.6.0",
|
|
75
|
-
"esbuild": "^0.28.0",
|
|
76
|
-
"esbuild-compress": "^2.2.0",
|
|
77
|
-
"esbuild-plugin-import-glob": "^0.1.1",
|
|
78
|
-
"esbuild-visualizer": "^0.7.0",
|
|
79
|
-
"eslint": "^10.
|
|
80
|
-
"globals": "^17.
|
|
81
|
-
"ini": "^6.0.0",
|
|
82
|
-
"jsonc-parser": "^3.3.1",
|
|
83
|
-
"mime": "^4.1.0",
|
|
84
|
-
"patch-package": "^8.0.1",
|
|
85
|
-
"readdir-glob": "^3.0.0",
|
|
86
|
-
"remark": "^15.0.1",
|
|
87
|
-
"rimraf": "^6.1.3",
|
|
88
|
-
"semver": "^7.
|
|
89
|
-
"tree-kill": "^1.2.2",
|
|
90
|
-
"typescript": "^6.0.3",
|
|
91
|
-
"typescript-eslint": "^8.59.
|
|
92
|
-
"vscode-languageclient": "^9.0.1",
|
|
93
|
-
"vscode-languageserver": "^9.0.1",
|
|
94
|
-
"vscode-languageserver-textdocument": "^1.0.12",
|
|
95
|
-
"vscode-uri": "^3.1.0",
|
|
96
|
-
"yoctocolors": "^2.1.2"
|
|
97
|
-
},
|
|
98
|
-
"extensionDependencies": [
|
|
99
|
-
"sumneko.lua"
|
|
100
|
-
],
|
|
101
|
-
"type": "module",
|
|
102
|
-
"main": "dist/fmtk-vscode.js",
|
|
103
|
-
"bin": {
|
|
104
|
-
"fmtk": "dist/fmtk-cli.js",
|
|
105
|
-
"factoriomod-debug": "dist/fmtk-cli.js"
|
|
106
|
-
},
|
|
107
|
-
"activationEvents": [
|
|
108
|
-
"onDebug",
|
|
109
|
-
"onCommand:workbench.action.tasks.runTask",
|
|
110
|
-
"workspaceContains:**/changelog.txt",
|
|
111
|
-
"workspaceContains:**/info.json",
|
|
112
|
-
"workspaceContains:**/control.lua",
|
|
113
|
-
"workspaceContains:**/mod-list.json",
|
|
114
|
-
"workspaceContains:**/mod-settings.dat"
|
|
115
|
-
],
|
|
116
|
-
"contributes": {
|
|
117
|
-
"colors": [
|
|
118
|
-
{
|
|
119
|
-
"id": "factorio.ProfileTimerForeground",
|
|
120
|
-
"description": "Color for line timer text when running Factorio Mod profiler",
|
|
121
|
-
"defaults": {
|
|
122
|
-
"dark": "#ffffff",
|
|
123
|
-
"highContrast": "#ffffff",
|
|
124
|
-
"light": "#000000"
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"id": "factorio.ProfileFunctionTimerForeground",
|
|
129
|
-
"description": "Color for function timer text when running Factorio Mod profiler",
|
|
130
|
-
"defaults": {
|
|
131
|
-
"dark": "#ffffff66",
|
|
132
|
-
"highContrast": "#ffffff",
|
|
133
|
-
"light": "#000000"
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
],
|
|
137
|
-
"configuration": [
|
|
138
|
-
{
|
|
139
|
-
"title": "Factorio",
|
|
140
|
-
"properties": {
|
|
141
|
-
"factorio.package.preparingCommitMessage": {
|
|
142
|
-
"type": "string",
|
|
143
|
-
"description": "Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
144
|
-
"default": "preparing release of version $VERSION",
|
|
145
|
-
"pattern": "\\$VERSION",
|
|
146
|
-
"editPresentation": "multilineText"
|
|
147
|
-
},
|
|
148
|
-
"factorio.package.movedToCommitMessage": {
|
|
149
|
-
"type": "string",
|
|
150
|
-
"description": "Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
151
|
-
"default": "moved to version $VERSION",
|
|
152
|
-
"pattern": "\\$VERSION",
|
|
153
|
-
"editPresentation": "multilineText"
|
|
154
|
-
},
|
|
155
|
-
"factorio.package.autoCommitAuthor": {
|
|
156
|
-
"type": "string",
|
|
157
|
-
"description": "Author for automatically created commits",
|
|
158
|
-
"default": "compilatron <compilatron@justarandomgeek.com>"
|
|
159
|
-
},
|
|
160
|
-
"factorio.package.tagName": {
|
|
161
|
-
"type": "string",
|
|
162
|
-
"description": "Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
163
|
-
"default": "$VERSION",
|
|
164
|
-
"pattern": "\\$VERSION"
|
|
165
|
-
},
|
|
166
|
-
"factorio.package.defaultPublishBranch": {
|
|
167
|
-
"deprecationMessage": "This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."
|
|
168
|
-
},
|
|
169
|
-
"factorio.package.tagMessage": {
|
|
170
|
-
"type": "string",
|
|
171
|
-
"description": "Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
172
|
-
"editPresentation": "multilineText"
|
|
173
|
-
},
|
|
174
|
-
"factorio.package.zipLocation": {
|
|
175
|
-
"type": "string",
|
|
176
|
-
"description": "Location to place mod zip packages.",
|
|
177
|
-
"enumDescriptions": [
|
|
178
|
-
"Inside Mod (sibling of info.json)",
|
|
179
|
-
"Outside Mod (one level up from info.json)"
|
|
180
|
-
],
|
|
181
|
-
"enum": [
|
|
182
|
-
"inside",
|
|
183
|
-
"outside"
|
|
184
|
-
],
|
|
185
|
-
"default": "inside"
|
|
186
|
-
},
|
|
187
|
-
"factorio.profile.timerHighlightColor": {
|
|
188
|
-
"type": "string",
|
|
189
|
-
"description": "Color to be used to highlight hot timers",
|
|
190
|
-
"pattern": "^#[0-9a-fA-F]{6}$",
|
|
191
|
-
"default": "#FF0000"
|
|
192
|
-
},
|
|
193
|
-
"factorio.profile.displayAverageTime": {
|
|
194
|
-
"type": "boolean",
|
|
195
|
-
"description": "Display average time in labels instead of cumulative time.",
|
|
196
|
-
"default": true
|
|
197
|
-
},
|
|
198
|
-
"factorio.profile.colorBy": {
|
|
199
|
-
"type": "string",
|
|
200
|
-
"description": "Which attribute to color labels by",
|
|
201
|
-
"enum": [
|
|
202
|
-
"count",
|
|
203
|
-
"totaltime",
|
|
204
|
-
"averagetime"
|
|
205
|
-
],
|
|
206
|
-
"default": "totaltime"
|
|
207
|
-
},
|
|
208
|
-
"factorio.profile.colorScaleFactor": {
|
|
209
|
-
"type": "number",
|
|
210
|
-
"description": "Adjustment factor for color scale function",
|
|
211
|
-
"default": 1,
|
|
212
|
-
"exclusiveMinimum": 0
|
|
213
|
-
},
|
|
214
|
-
"factorio.profile.colorScaleMode": {
|
|
215
|
-
"type": "string",
|
|
216
|
-
"description": "Scale function for coloring timer labels",
|
|
217
|
-
"enum": [
|
|
218
|
-
"boost",
|
|
219
|
-
"linear",
|
|
220
|
-
"mute"
|
|
221
|
-
],
|
|
222
|
-
"default": "boost"
|
|
223
|
-
},
|
|
224
|
-
"factorio.profile.rulers": {
|
|
225
|
-
"type": "array",
|
|
226
|
-
"description": "Ruler colors and thresholds to display hotspots in the scrollbar",
|
|
227
|
-
"items": {
|
|
228
|
-
"oneOf": [
|
|
229
|
-
{
|
|
230
|
-
"required": [
|
|
231
|
-
"color"
|
|
232
|
-
],
|
|
233
|
-
"properties": {
|
|
234
|
-
"color": {
|
|
235
|
-
"type": "string",
|
|
236
|
-
"pattern": "^#[0-9a-fA-F]{1,8}$"
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
"required": [
|
|
242
|
-
"themeColor"
|
|
243
|
-
],
|
|
244
|
-
"properties": {
|
|
245
|
-
"themeColor": {
|
|
246
|
-
"type": "string"
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
],
|
|
251
|
-
"required": [
|
|
252
|
-
"threshold"
|
|
253
|
-
],
|
|
254
|
-
"properties": {
|
|
255
|
-
"threshold": {
|
|
256
|
-
"type": "number",
|
|
257
|
-
"maximum": 1,
|
|
258
|
-
"minimum": 0
|
|
259
|
-
},
|
|
260
|
-
"lane": {
|
|
261
|
-
"enum": [
|
|
262
|
-
"Left",
|
|
263
|
-
"Center",
|
|
264
|
-
"Right",
|
|
265
|
-
"Full"
|
|
266
|
-
],
|
|
267
|
-
"default": "Right"
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
},
|
|
271
|
-
"default": [
|
|
272
|
-
{
|
|
273
|
-
"color": "#FF0000",
|
|
274
|
-
"threshold": 0.75
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
"color": "#FF6600",
|
|
278
|
-
"threshold": 0.5
|
|
279
|
-
}
|
|
280
|
-
]
|
|
281
|
-
},
|
|
282
|
-
"factorio.versions": {
|
|
283
|
-
"type": "array",
|
|
284
|
-
"description": "Factorio installations configured for use with debugging and profiling.",
|
|
285
|
-
"items": {
|
|
286
|
-
"type": "object",
|
|
287
|
-
"required": [
|
|
288
|
-
"name"
|
|
289
|
-
],
|
|
290
|
-
"anyOf": [
|
|
291
|
-
{
|
|
292
|
-
"required": [
|
|
293
|
-
"onlineDocs"
|
|
294
|
-
]
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
"required": [
|
|
298
|
-
"factorioPath"
|
|
299
|
-
],
|
|
300
|
-
"properties": {
|
|
301
|
-
"configPath": {
|
|
302
|
-
"type": "string",
|
|
303
|
-
"description": "Path to Factorio config.ini file."
|
|
304
|
-
},
|
|
305
|
-
"docsPath": {
|
|
306
|
-
"type": "string",
|
|
307
|
-
"description": "Path to runtime-api.json, must be relative to factorioPath."
|
|
308
|
-
},
|
|
309
|
-
"protosPath": {
|
|
310
|
-
"type": "string",
|
|
311
|
-
"description": "Path to prototype-api.json, must be relative to factorioPath."
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
],
|
|
316
|
-
"properties": {
|
|
317
|
-
"name": {
|
|
318
|
-
"type": "string",
|
|
319
|
-
"description": "Display name for this installation"
|
|
320
|
-
},
|
|
321
|
-
"active": {
|
|
322
|
-
"deprecationMessage": "Active status is no longer marked in settings"
|
|
323
|
-
},
|
|
324
|
-
"factorioPath": {
|
|
325
|
-
"type": "string",
|
|
326
|
-
"description": "Path to Factorio binary file.",
|
|
327
|
-
"examples": [
|
|
328
|
-
"C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe",
|
|
329
|
-
"C:/Program Files/Factorio/bin/x64/factorio.exe",
|
|
330
|
-
"~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio",
|
|
331
|
-
"/Applications/factorio.app/Contents/MacOS/factorio",
|
|
332
|
-
"~/.factorio/bin/x64/factorio",
|
|
333
|
-
"${userHome}/.factorio/bin/x64/factorio",
|
|
334
|
-
"${workspaceFolder}/factorio/bin/x64/factorio"
|
|
335
|
-
]
|
|
336
|
-
},
|
|
337
|
-
"onlineDocs": {
|
|
338
|
-
"type": [
|
|
339
|
-
"boolean",
|
|
340
|
-
"string"
|
|
341
|
-
],
|
|
342
|
-
"description": "Use online docs, version id or `true` for `latest`"
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
},
|
|
347
|
-
"factorio.docs.generateDocs": {
|
|
348
|
-
"type": "boolean",
|
|
349
|
-
"description": "Generate docs files when selecting a Factorio version.",
|
|
350
|
-
"default": true
|
|
351
|
-
},
|
|
352
|
-
"factorio.docs.usePrototypeDumps": {
|
|
353
|
-
"type": "boolean",
|
|
354
|
-
"description": "EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs",
|
|
355
|
-
"default": false
|
|
356
|
-
},
|
|
357
|
-
"factorio.docs.docLinksVersion": {
|
|
358
|
-
"description": "What version to use when generating docs links",
|
|
359
|
-
"enumDescriptions": [
|
|
360
|
-
"Always link to the `latest` docs available online",
|
|
361
|
-
"Link to the online version of the specific version used for generation"
|
|
362
|
-
],
|
|
363
|
-
"enum": [
|
|
364
|
-
"latest",
|
|
365
|
-
"current"
|
|
366
|
-
],
|
|
367
|
-
"default": "latest"
|
|
368
|
-
},
|
|
369
|
-
"factorio.workspace.manageLibraryDataLinks": {
|
|
370
|
-
"type": "boolean",
|
|
371
|
-
"default": false,
|
|
372
|
-
"description": "Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."
|
|
373
|
-
},
|
|
374
|
-
"factorio.debug.env": {
|
|
375
|
-
"type": "object",
|
|
376
|
-
"description": "Environment variables to pass to Factorio",
|
|
377
|
-
"additionalProperties": {
|
|
378
|
-
"type": "string"
|
|
379
|
-
}
|
|
380
|
-
},
|
|
381
|
-
"factorio.debug.runMode": {
|
|
382
|
-
"description": "Run mode for Debug Adapter",
|
|
383
|
-
"default": "inline",
|
|
384
|
-
"enum": [
|
|
385
|
-
"inline",
|
|
386
|
-
"external"
|
|
387
|
-
],
|
|
388
|
-
"enumDescriptions": [
|
|
389
|
-
"Run inside extension, communicate directly",
|
|
390
|
-
"Run in an external process, communicate via stdio"
|
|
391
|
-
]
|
|
392
|
-
},
|
|
393
|
-
"factorio.tasks.execArgvOptions": {
|
|
394
|
-
"description": "Options to modify existing `execArgv` when forking",
|
|
395
|
-
"type": "array",
|
|
396
|
-
"default": [],
|
|
397
|
-
"uniqueItems": true,
|
|
398
|
-
"items": {
|
|
399
|
-
"enum": [
|
|
400
|
-
"clear",
|
|
401
|
-
"stripjsflags",
|
|
402
|
-
"stripinspect"
|
|
403
|
-
]
|
|
404
|
-
}
|
|
405
|
-
},
|
|
406
|
-
"factorio.tasks.execArgvExtras": {
|
|
407
|
-
"description": "Extra options to add to `execArgv` when forking",
|
|
408
|
-
"type": "array",
|
|
409
|
-
"items": {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
"
|
|
427
|
-
"
|
|
428
|
-
"
|
|
429
|
-
"
|
|
430
|
-
"
|
|
431
|
-
"
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
"
|
|
477
|
-
"
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
"
|
|
483
|
-
"
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
"
|
|
489
|
-
"
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
"
|
|
495
|
-
"
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
"
|
|
501
|
-
"
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
"
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
"
|
|
512
|
-
"
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
"
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
"
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
"
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
"
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
"
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
"
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
"
|
|
551
|
-
"
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
"
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
"
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
"
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
"
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
"
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
"
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
"
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
"
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
"
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
"
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
"
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
"
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
"
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
"
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
"
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
"editor.
|
|
705
|
-
"
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
"
|
|
720
|
-
"map-gen-settings
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
"
|
|
729
|
-
"map-settings
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
"
|
|
738
|
-
"server-settings
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
"
|
|
747
|
-
"!
|
|
748
|
-
"!
|
|
749
|
-
"!
|
|
750
|
-
"!
|
|
751
|
-
"!
|
|
752
|
-
"!
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
"
|
|
761
|
-
"
|
|
762
|
-
"!
|
|
763
|
-
"!
|
|
764
|
-
"!
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
"
|
|
795
|
-
"
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
"
|
|
810
|
-
"
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
"
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
"
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
"
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
"
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
"
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
"
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
"
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
"
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
"
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
"
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
"
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
"
|
|
963
|
-
"
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
"
|
|
969
|
-
"
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
"
|
|
975
|
-
"
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
"
|
|
981
|
-
"
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
"
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
"
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
"
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
"
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
"
|
|
1011
|
-
"
|
|
1012
|
-
"
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
"
|
|
1018
|
-
"
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
"
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
"
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
"
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
"
|
|
1038
|
-
"
|
|
1039
|
-
"
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
"
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
"
|
|
1049
|
-
"
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
"
|
|
1060
|
-
"
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
"
|
|
1070
|
-
"
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "factoriomod-debug",
|
|
3
|
+
"displayName": "Factorio Modding Tool Kit",
|
|
4
|
+
"version": "2.0.14",
|
|
5
|
+
"publisher": "justarandomgeek",
|
|
6
|
+
"description": "Debug Tools for developing Factorio Mods",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "justarandomgeek",
|
|
9
|
+
"email": "justarandomgeek@live.com"
|
|
10
|
+
},
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"multi-root ready"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"vscode": "^1.116.0",
|
|
17
|
+
"node": ">=22.7.0"
|
|
18
|
+
},
|
|
19
|
+
"icon": "images/factoriomod-debug-icon.png",
|
|
20
|
+
"categories": [
|
|
21
|
+
"Debuggers",
|
|
22
|
+
"Programming Languages",
|
|
23
|
+
"Linters"
|
|
24
|
+
],
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/justarandomgeek/vscode-factoriomod-debug.git"
|
|
28
|
+
},
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/justarandomgeek/vscode-factoriomod-debug/issues"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"lint": "eslint . --ext ts --flag unstable_native_nodejs_ts_config",
|
|
34
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
35
|
+
"typecheck-watch": "tsc -p tsconfig.json --noEmit --watch",
|
|
36
|
+
"esbuild": "node --experimental-transform-types ./build.ts",
|
|
37
|
+
"watch": "npm run esbuild -- --watch",
|
|
38
|
+
"stats": "npm run esbuild -- --minify --meta && esbuild-visualizer --metadata ./out/meta.json --filename ./out/stats.html",
|
|
39
|
+
"vscode:prepublish": "npm run prepare",
|
|
40
|
+
"prepare": "rimraf dist && npm run esbuild -- --minify",
|
|
41
|
+
"package": "vsce package",
|
|
42
|
+
"publish-vscode": "vsce publish",
|
|
43
|
+
"publish-vscode-prerelease": "vsce publish --pre-release",
|
|
44
|
+
"test": "c8 node --experimental-transform-types --test ./test/*.spec.ts"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@inquirer/input": "^5.0.13",
|
|
48
|
+
"@inquirer/password": "^5.0.13",
|
|
49
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
50
|
+
"@types/archiver": "^7.0.0",
|
|
51
|
+
"@types/buffers": "^0.1.34",
|
|
52
|
+
"@types/d3": "^7.4.3",
|
|
53
|
+
"@types/dateformat": "^5.0.3",
|
|
54
|
+
"@types/ini": "^4.1.1",
|
|
55
|
+
"@types/inquirer": "^9.0.9",
|
|
56
|
+
"@types/mute-stream": "^0.0.4",
|
|
57
|
+
"@types/node": "^25.6.2",
|
|
58
|
+
"@types/readdir-glob": "^1.1.5",
|
|
59
|
+
"@types/request": "^2.48.13",
|
|
60
|
+
"@types/semver": "^7.7.1",
|
|
61
|
+
"@types/vscode": "^1.116.0",
|
|
62
|
+
"@types/vscode-webview": "^1.57.5",
|
|
63
|
+
"@vscode/codicons": "^0.0.45",
|
|
64
|
+
"@vscode/debugadapter": "^1.68.0",
|
|
65
|
+
"@vscode/debugadapter-testsupport": "^1.68.0",
|
|
66
|
+
"@vscode/vsce": "^3.9.1",
|
|
67
|
+
"@vscode/webview-ui-toolkit": "^1.4.0",
|
|
68
|
+
"archiver": "^8.0.0",
|
|
69
|
+
"c8": "^11.0.0",
|
|
70
|
+
"commander": "^14.0.3",
|
|
71
|
+
"d3": "^7.9.0",
|
|
72
|
+
"d3-flame-graph": "^5.0.0",
|
|
73
|
+
"dateformat": "^5.0.3",
|
|
74
|
+
"dotize": "^0.6.0",
|
|
75
|
+
"esbuild": "^0.28.0",
|
|
76
|
+
"esbuild-compress": "^2.2.0",
|
|
77
|
+
"esbuild-plugin-import-glob": "^0.1.1",
|
|
78
|
+
"esbuild-visualizer": "^0.7.0",
|
|
79
|
+
"eslint": "^10.3.0",
|
|
80
|
+
"globals": "^17.6.0",
|
|
81
|
+
"ini": "^6.0.0",
|
|
82
|
+
"jsonc-parser": "^3.3.1",
|
|
83
|
+
"mime": "^4.1.0",
|
|
84
|
+
"patch-package": "^8.0.1",
|
|
85
|
+
"readdir-glob": "^3.0.0",
|
|
86
|
+
"remark": "^15.0.1",
|
|
87
|
+
"rimraf": "^6.1.3",
|
|
88
|
+
"semver": "^7.8.0",
|
|
89
|
+
"tree-kill": "^1.2.2",
|
|
90
|
+
"typescript": "^6.0.3",
|
|
91
|
+
"typescript-eslint": "^8.59.3",
|
|
92
|
+
"vscode-languageclient": "^9.0.1",
|
|
93
|
+
"vscode-languageserver": "^9.0.1",
|
|
94
|
+
"vscode-languageserver-textdocument": "^1.0.12",
|
|
95
|
+
"vscode-uri": "^3.1.0",
|
|
96
|
+
"yoctocolors": "^2.1.2"
|
|
97
|
+
},
|
|
98
|
+
"extensionDependencies": [
|
|
99
|
+
"sumneko.lua"
|
|
100
|
+
],
|
|
101
|
+
"type": "module",
|
|
102
|
+
"main": "dist/fmtk-vscode.js",
|
|
103
|
+
"bin": {
|
|
104
|
+
"fmtk": "dist/fmtk-cli.js",
|
|
105
|
+
"factoriomod-debug": "dist/fmtk-cli.js"
|
|
106
|
+
},
|
|
107
|
+
"activationEvents": [
|
|
108
|
+
"onDebug",
|
|
109
|
+
"onCommand:workbench.action.tasks.runTask",
|
|
110
|
+
"workspaceContains:**/changelog.txt",
|
|
111
|
+
"workspaceContains:**/info.json",
|
|
112
|
+
"workspaceContains:**/control.lua",
|
|
113
|
+
"workspaceContains:**/mod-list.json",
|
|
114
|
+
"workspaceContains:**/mod-settings.dat"
|
|
115
|
+
],
|
|
116
|
+
"contributes": {
|
|
117
|
+
"colors": [
|
|
118
|
+
{
|
|
119
|
+
"id": "factorio.ProfileTimerForeground",
|
|
120
|
+
"description": "Color for line timer text when running Factorio Mod profiler",
|
|
121
|
+
"defaults": {
|
|
122
|
+
"dark": "#ffffff",
|
|
123
|
+
"highContrast": "#ffffff",
|
|
124
|
+
"light": "#000000"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "factorio.ProfileFunctionTimerForeground",
|
|
129
|
+
"description": "Color for function timer text when running Factorio Mod profiler",
|
|
130
|
+
"defaults": {
|
|
131
|
+
"dark": "#ffffff66",
|
|
132
|
+
"highContrast": "#ffffff",
|
|
133
|
+
"light": "#000000"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"configuration": [
|
|
138
|
+
{
|
|
139
|
+
"title": "Factorio",
|
|
140
|
+
"properties": {
|
|
141
|
+
"factorio.package.preparingCommitMessage": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"description": "Commit message for preparing release. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
144
|
+
"default": "preparing release of version $VERSION",
|
|
145
|
+
"pattern": "\\$VERSION",
|
|
146
|
+
"editPresentation": "multilineText"
|
|
147
|
+
},
|
|
148
|
+
"factorio.package.movedToCommitMessage": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"description": "Commit message for raising version after release. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
151
|
+
"default": "moved to version $VERSION",
|
|
152
|
+
"pattern": "\\$VERSION",
|
|
153
|
+
"editPresentation": "multilineText"
|
|
154
|
+
},
|
|
155
|
+
"factorio.package.autoCommitAuthor": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"description": "Author for automatically created commits",
|
|
158
|
+
"default": "compilatron <compilatron@justarandomgeek.com>"
|
|
159
|
+
},
|
|
160
|
+
"factorio.package.tagName": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"description": "Template for release tag names. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
163
|
+
"default": "$VERSION",
|
|
164
|
+
"pattern": "\\$VERSION"
|
|
165
|
+
},
|
|
166
|
+
"factorio.package.defaultPublishBranch": {
|
|
167
|
+
"deprecationMessage": "This setting is no longer used. If not set in `info.json`, the value of git config init.defaultBranch will be used."
|
|
168
|
+
},
|
|
169
|
+
"factorio.package.tagMessage": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "Message for version tags. Use `$VERSION` or `$MODNAME` to insert the version number or name.",
|
|
172
|
+
"editPresentation": "multilineText"
|
|
173
|
+
},
|
|
174
|
+
"factorio.package.zipLocation": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"description": "Location to place mod zip packages.",
|
|
177
|
+
"enumDescriptions": [
|
|
178
|
+
"Inside Mod (sibling of info.json)",
|
|
179
|
+
"Outside Mod (one level up from info.json)"
|
|
180
|
+
],
|
|
181
|
+
"enum": [
|
|
182
|
+
"inside",
|
|
183
|
+
"outside"
|
|
184
|
+
],
|
|
185
|
+
"default": "inside"
|
|
186
|
+
},
|
|
187
|
+
"factorio.profile.timerHighlightColor": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"description": "Color to be used to highlight hot timers",
|
|
190
|
+
"pattern": "^#[0-9a-fA-F]{6}$",
|
|
191
|
+
"default": "#FF0000"
|
|
192
|
+
},
|
|
193
|
+
"factorio.profile.displayAverageTime": {
|
|
194
|
+
"type": "boolean",
|
|
195
|
+
"description": "Display average time in labels instead of cumulative time.",
|
|
196
|
+
"default": true
|
|
197
|
+
},
|
|
198
|
+
"factorio.profile.colorBy": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"description": "Which attribute to color labels by",
|
|
201
|
+
"enum": [
|
|
202
|
+
"count",
|
|
203
|
+
"totaltime",
|
|
204
|
+
"averagetime"
|
|
205
|
+
],
|
|
206
|
+
"default": "totaltime"
|
|
207
|
+
},
|
|
208
|
+
"factorio.profile.colorScaleFactor": {
|
|
209
|
+
"type": "number",
|
|
210
|
+
"description": "Adjustment factor for color scale function",
|
|
211
|
+
"default": 1,
|
|
212
|
+
"exclusiveMinimum": 0
|
|
213
|
+
},
|
|
214
|
+
"factorio.profile.colorScaleMode": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "Scale function for coloring timer labels",
|
|
217
|
+
"enum": [
|
|
218
|
+
"boost",
|
|
219
|
+
"linear",
|
|
220
|
+
"mute"
|
|
221
|
+
],
|
|
222
|
+
"default": "boost"
|
|
223
|
+
},
|
|
224
|
+
"factorio.profile.rulers": {
|
|
225
|
+
"type": "array",
|
|
226
|
+
"description": "Ruler colors and thresholds to display hotspots in the scrollbar",
|
|
227
|
+
"items": {
|
|
228
|
+
"oneOf": [
|
|
229
|
+
{
|
|
230
|
+
"required": [
|
|
231
|
+
"color"
|
|
232
|
+
],
|
|
233
|
+
"properties": {
|
|
234
|
+
"color": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"pattern": "^#[0-9a-fA-F]{1,8}$"
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"required": [
|
|
242
|
+
"themeColor"
|
|
243
|
+
],
|
|
244
|
+
"properties": {
|
|
245
|
+
"themeColor": {
|
|
246
|
+
"type": "string"
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
"required": [
|
|
252
|
+
"threshold"
|
|
253
|
+
],
|
|
254
|
+
"properties": {
|
|
255
|
+
"threshold": {
|
|
256
|
+
"type": "number",
|
|
257
|
+
"maximum": 1,
|
|
258
|
+
"minimum": 0
|
|
259
|
+
},
|
|
260
|
+
"lane": {
|
|
261
|
+
"enum": [
|
|
262
|
+
"Left",
|
|
263
|
+
"Center",
|
|
264
|
+
"Right",
|
|
265
|
+
"Full"
|
|
266
|
+
],
|
|
267
|
+
"default": "Right"
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"default": [
|
|
272
|
+
{
|
|
273
|
+
"color": "#FF0000",
|
|
274
|
+
"threshold": 0.75
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"color": "#FF6600",
|
|
278
|
+
"threshold": 0.5
|
|
279
|
+
}
|
|
280
|
+
]
|
|
281
|
+
},
|
|
282
|
+
"factorio.versions": {
|
|
283
|
+
"type": "array",
|
|
284
|
+
"description": "Factorio installations configured for use with debugging and profiling.",
|
|
285
|
+
"items": {
|
|
286
|
+
"type": "object",
|
|
287
|
+
"required": [
|
|
288
|
+
"name"
|
|
289
|
+
],
|
|
290
|
+
"anyOf": [
|
|
291
|
+
{
|
|
292
|
+
"required": [
|
|
293
|
+
"onlineDocs"
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"required": [
|
|
298
|
+
"factorioPath"
|
|
299
|
+
],
|
|
300
|
+
"properties": {
|
|
301
|
+
"configPath": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"description": "Path to Factorio config.ini file."
|
|
304
|
+
},
|
|
305
|
+
"docsPath": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "Path to runtime-api.json, must be relative to factorioPath."
|
|
308
|
+
},
|
|
309
|
+
"protosPath": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "Path to prototype-api.json, must be relative to factorioPath."
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
"properties": {
|
|
317
|
+
"name": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"description": "Display name for this installation"
|
|
320
|
+
},
|
|
321
|
+
"active": {
|
|
322
|
+
"deprecationMessage": "Active status is no longer marked in settings"
|
|
323
|
+
},
|
|
324
|
+
"factorioPath": {
|
|
325
|
+
"type": "string",
|
|
326
|
+
"description": "Path to Factorio binary file.",
|
|
327
|
+
"examples": [
|
|
328
|
+
"C:/Program Files (x86)/Steam/steamapps/common/Factorio/bin/x64/factorio.exe",
|
|
329
|
+
"C:/Program Files/Factorio/bin/x64/factorio.exe",
|
|
330
|
+
"~/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio",
|
|
331
|
+
"/Applications/factorio.app/Contents/MacOS/factorio",
|
|
332
|
+
"~/.factorio/bin/x64/factorio",
|
|
333
|
+
"${userHome}/.factorio/bin/x64/factorio",
|
|
334
|
+
"${workspaceFolder}/factorio/bin/x64/factorio"
|
|
335
|
+
]
|
|
336
|
+
},
|
|
337
|
+
"onlineDocs": {
|
|
338
|
+
"type": [
|
|
339
|
+
"boolean",
|
|
340
|
+
"string"
|
|
341
|
+
],
|
|
342
|
+
"description": "Use online docs, version id or `true` for `latest`"
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
"factorio.docs.generateDocs": {
|
|
348
|
+
"type": "boolean",
|
|
349
|
+
"description": "Generate docs files when selecting a Factorio version.",
|
|
350
|
+
"default": true
|
|
351
|
+
},
|
|
352
|
+
"factorio.docs.usePrototypeDumps": {
|
|
353
|
+
"type": "boolean",
|
|
354
|
+
"description": "EXPERIMENTAL: Use prototype dumps `script-output/mod-settings-dump.json` and `script-output/data-raw-dump.json` if available when generating docs",
|
|
355
|
+
"default": false
|
|
356
|
+
},
|
|
357
|
+
"factorio.docs.docLinksVersion": {
|
|
358
|
+
"description": "What version to use when generating docs links",
|
|
359
|
+
"enumDescriptions": [
|
|
360
|
+
"Always link to the `latest` docs available online",
|
|
361
|
+
"Link to the online version of the specific version used for generation"
|
|
362
|
+
],
|
|
363
|
+
"enum": [
|
|
364
|
+
"latest",
|
|
365
|
+
"current"
|
|
366
|
+
],
|
|
367
|
+
"default": "latest"
|
|
368
|
+
},
|
|
369
|
+
"factorio.workspace.manageLibraryDataLinks": {
|
|
370
|
+
"type": "boolean",
|
|
371
|
+
"default": false,
|
|
372
|
+
"description": "Automatically manage /data link in `\"Lua.workspace.library\"`. Setting to false will remove the link if present."
|
|
373
|
+
},
|
|
374
|
+
"factorio.debug.env": {
|
|
375
|
+
"type": "object",
|
|
376
|
+
"description": "Environment variables to pass to Factorio",
|
|
377
|
+
"additionalProperties": {
|
|
378
|
+
"type": "string"
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
"factorio.debug.runMode": {
|
|
382
|
+
"description": "Run mode for Debug Adapter",
|
|
383
|
+
"default": "inline",
|
|
384
|
+
"enum": [
|
|
385
|
+
"inline",
|
|
386
|
+
"external"
|
|
387
|
+
],
|
|
388
|
+
"enumDescriptions": [
|
|
389
|
+
"Run inside extension, communicate directly",
|
|
390
|
+
"Run in an external process, communicate via stdio"
|
|
391
|
+
]
|
|
392
|
+
},
|
|
393
|
+
"factorio.tasks.execArgvOptions": {
|
|
394
|
+
"description": "Options to modify existing `execArgv` when forking",
|
|
395
|
+
"type": "array",
|
|
396
|
+
"default": [],
|
|
397
|
+
"uniqueItems": true,
|
|
398
|
+
"items": {
|
|
399
|
+
"enum": [
|
|
400
|
+
"clear",
|
|
401
|
+
"stripjsflags",
|
|
402
|
+
"stripinspect"
|
|
403
|
+
]
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
"factorio.tasks.execArgvExtras": {
|
|
407
|
+
"description": "Extra options to add to `execArgv` when forking",
|
|
408
|
+
"type": "array",
|
|
409
|
+
"items": {
|
|
410
|
+
"type": "string"
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
],
|
|
416
|
+
"taskDefinitions": [
|
|
417
|
+
{
|
|
418
|
+
"type": "factorio",
|
|
419
|
+
"required": [
|
|
420
|
+
"command"
|
|
421
|
+
],
|
|
422
|
+
"properties": {
|
|
423
|
+
"command": {
|
|
424
|
+
"type": "string",
|
|
425
|
+
"enum": [
|
|
426
|
+
"datestamp",
|
|
427
|
+
"package",
|
|
428
|
+
"version",
|
|
429
|
+
"upload",
|
|
430
|
+
"details",
|
|
431
|
+
"publish",
|
|
432
|
+
"run",
|
|
433
|
+
"adjustMods"
|
|
434
|
+
]
|
|
435
|
+
},
|
|
436
|
+
"modname": {
|
|
437
|
+
"type": "string"
|
|
438
|
+
},
|
|
439
|
+
"script": {
|
|
440
|
+
"type": "string"
|
|
441
|
+
},
|
|
442
|
+
"scriptArgs": {
|
|
443
|
+
"type": "array",
|
|
444
|
+
"items": {
|
|
445
|
+
"type": "string"
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"adjustMods": {
|
|
449
|
+
"type": "object",
|
|
450
|
+
"additionalProperties": {
|
|
451
|
+
"oneOf": [
|
|
452
|
+
{
|
|
453
|
+
"type": "boolean"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"type": "string",
|
|
457
|
+
"pattern": "(\\d+\\.){2}\\d+"
|
|
458
|
+
}
|
|
459
|
+
]
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
"modsPath": {
|
|
463
|
+
"type": "string"
|
|
464
|
+
},
|
|
465
|
+
"disableExtraMods": {
|
|
466
|
+
"type": "boolean"
|
|
467
|
+
},
|
|
468
|
+
"allowDisableBaseMod": {
|
|
469
|
+
"type": "boolean"
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
],
|
|
474
|
+
"commands": [
|
|
475
|
+
{
|
|
476
|
+
"command": "factorio.openchangelog",
|
|
477
|
+
"category": "Factorio",
|
|
478
|
+
"title": "Open Changelog",
|
|
479
|
+
"icon": "$(versions)"
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"command": "factorio.datestamp",
|
|
483
|
+
"category": "Factorio",
|
|
484
|
+
"title": "Datestamp Changelog",
|
|
485
|
+
"icon": "$(calendar)"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"command": "factorio.package",
|
|
489
|
+
"category": "Factorio",
|
|
490
|
+
"title": "Package Mod",
|
|
491
|
+
"icon": "$(package)"
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"command": "factorio.version",
|
|
495
|
+
"category": "Factorio",
|
|
496
|
+
"title": "Increment Version",
|
|
497
|
+
"icon": "$(tag)"
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"command": "factorio.upload",
|
|
501
|
+
"category": "Factorio",
|
|
502
|
+
"title": "Upload to Portal",
|
|
503
|
+
"icon": "$(cloud-upload)"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"command": "factorio.details",
|
|
507
|
+
"category": "Factorio",
|
|
508
|
+
"title": "Sync details to Portal"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"command": "factorio.publish",
|
|
512
|
+
"category": "Factorio",
|
|
513
|
+
"title": "Publish Mod",
|
|
514
|
+
"icon": "$(repo-push)"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"command": "factorio.clearApiKey",
|
|
518
|
+
"category": "Factorio",
|
|
519
|
+
"title": "Clear API Key"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"command": "factorio.setApiKey",
|
|
523
|
+
"category": "Factorio",
|
|
524
|
+
"title": "Set API Key"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"command": "factorio.selectVersion",
|
|
528
|
+
"category": "Factorio",
|
|
529
|
+
"title": "Select Version"
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
"command": "factorio.checkConfig",
|
|
533
|
+
"category": "Factorio",
|
|
534
|
+
"title": "Check Config"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"command": "factorio.disablePrototypeCache",
|
|
538
|
+
"category": "Factorio",
|
|
539
|
+
"title": "Disable Prototype Cache"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"command": "factorio.disableMouseAutoCapture",
|
|
543
|
+
"category": "Factorio",
|
|
544
|
+
"title": "Disable Mouse Auto Capture"
|
|
545
|
+
}
|
|
546
|
+
],
|
|
547
|
+
"views": {
|
|
548
|
+
"scm": [
|
|
549
|
+
{
|
|
550
|
+
"id": "factoriomods",
|
|
551
|
+
"name": "Factorio Mod Packages",
|
|
552
|
+
"icon": "images/viewicon.svg",
|
|
553
|
+
"contextualTitle": "Factorio Mod Packages"
|
|
554
|
+
}
|
|
555
|
+
]
|
|
556
|
+
},
|
|
557
|
+
"menus": {
|
|
558
|
+
"commandPalette": [
|
|
559
|
+
{
|
|
560
|
+
"command": "factorio.openchangelog",
|
|
561
|
+
"when": "false"
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"command": "factorio.datestamp",
|
|
565
|
+
"when": "false"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"command": "factorio.package",
|
|
569
|
+
"when": "false"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"command": "factorio.version",
|
|
573
|
+
"when": "false"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"command": "factorio.upload",
|
|
577
|
+
"when": "false"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"command": "factorio.details",
|
|
581
|
+
"when": "false"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"command": "factorio.publish",
|
|
585
|
+
"when": "false"
|
|
586
|
+
}
|
|
587
|
+
],
|
|
588
|
+
"view/item/context": [
|
|
589
|
+
{
|
|
590
|
+
"command": "factorio.openchangelog",
|
|
591
|
+
"when": "view == factoriomods && viewItem =~ /haschangelog/",
|
|
592
|
+
"group": "1_info@1"
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"command": "factorio.datestamp",
|
|
596
|
+
"when": "view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/",
|
|
597
|
+
"group": "2_basic@2"
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"command": "factorio.package",
|
|
601
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
602
|
+
"group": "2_basic@3"
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"command": "factorio.version",
|
|
606
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
607
|
+
"group": "2_basic@4"
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"command": "factorio.upload",
|
|
611
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
612
|
+
"group": "2_basic@5"
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"command": "factorio.details",
|
|
616
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
617
|
+
"group": "2_basic@6"
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"command": "factorio.publish",
|
|
621
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
622
|
+
"group": "3_publish@1"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"command": "factorio.openchangelog",
|
|
626
|
+
"when": "view == factoriomods && viewItem =~ /haschangelog/",
|
|
627
|
+
"group": "inline@1"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"command": "factorio.datestamp",
|
|
631
|
+
"when": "view == factoriomods && viewItem =~ /latest/ && viewItem =~ /haschangelog/",
|
|
632
|
+
"group": "inline@2"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"command": "factorio.package",
|
|
636
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
637
|
+
"group": "inline@3"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"command": "factorio.version",
|
|
641
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
642
|
+
"group": "inline@4"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"command": "factorio.upload",
|
|
646
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
647
|
+
"group": "inline@5"
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"command": "factorio.publish",
|
|
651
|
+
"when": "view == factoriomods && viewItem =~ /latest/",
|
|
652
|
+
"group": "inline@6"
|
|
653
|
+
}
|
|
654
|
+
]
|
|
655
|
+
},
|
|
656
|
+
"languages": [
|
|
657
|
+
{
|
|
658
|
+
"id": "factorio-locale",
|
|
659
|
+
"aliases": [
|
|
660
|
+
"Factorio Locale",
|
|
661
|
+
"factorio-locale"
|
|
662
|
+
],
|
|
663
|
+
"filenamePatterns": [
|
|
664
|
+
"**/locale/*/*.cfg"
|
|
665
|
+
],
|
|
666
|
+
"configuration": "./language/factorio-locale.language-configuration.json"
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"id": "factorio-changelog",
|
|
670
|
+
"aliases": [
|
|
671
|
+
"Factorio Changelog",
|
|
672
|
+
"factorio-changelog"
|
|
673
|
+
],
|
|
674
|
+
"filenames": [
|
|
675
|
+
"changelog.txt"
|
|
676
|
+
],
|
|
677
|
+
"configuration": "./language/factorio-changelog.language-configuration.json"
|
|
678
|
+
}
|
|
679
|
+
],
|
|
680
|
+
"grammars": [
|
|
681
|
+
{
|
|
682
|
+
"language": "factorio-locale",
|
|
683
|
+
"scopeName": "source.factorio-locale",
|
|
684
|
+
"path": "./language/factorio-locale.tmLanguage.json"
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"language": "factorio-changelog",
|
|
688
|
+
"scopeName": "source.factorio-changelog",
|
|
689
|
+
"path": "./language/factorio-changelog.tmLanguage.json"
|
|
690
|
+
}
|
|
691
|
+
],
|
|
692
|
+
"snippets": [
|
|
693
|
+
{
|
|
694
|
+
"language": "factorio-changelog",
|
|
695
|
+
"path": "./language/factorio-changelog.json"
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"language": "factorio-locale",
|
|
699
|
+
"path": "./language/factorio-locale.json"
|
|
700
|
+
}
|
|
701
|
+
],
|
|
702
|
+
"configurationDefaults": {
|
|
703
|
+
"[factorio-changelog]": {
|
|
704
|
+
"editor.detectIndentation": false,
|
|
705
|
+
"editor.insertSpaces": true,
|
|
706
|
+
"editor.tabSize": 2,
|
|
707
|
+
"gitlens.codeLens.symbolScopes": [
|
|
708
|
+
"Namespace",
|
|
709
|
+
"!Class"
|
|
710
|
+
]
|
|
711
|
+
},
|
|
712
|
+
"[factorio-locale]": {
|
|
713
|
+
"editor.wordWrap": "on"
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
"jsonValidation": [
|
|
717
|
+
{
|
|
718
|
+
"fileMatch": [
|
|
719
|
+
"map-gen-settings.json",
|
|
720
|
+
"map-gen-settings.*.json",
|
|
721
|
+
"*.map-gen-settings.json",
|
|
722
|
+
"map-gen-settings.example.json"
|
|
723
|
+
],
|
|
724
|
+
"url": "./schema/mapgen.json"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"fileMatch": [
|
|
728
|
+
"map-settings.json",
|
|
729
|
+
"map-settings.*.json",
|
|
730
|
+
"*.map-settings.json",
|
|
731
|
+
"map-settings.example.json"
|
|
732
|
+
],
|
|
733
|
+
"url": "./schema/mapsettings.json"
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"fileMatch": [
|
|
737
|
+
"server-settings.json",
|
|
738
|
+
"server-settings.*.json",
|
|
739
|
+
"*.server-settings.json",
|
|
740
|
+
"server-settings.example.json"
|
|
741
|
+
],
|
|
742
|
+
"url": "./schema/serversettings.json"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"fileMatch": [
|
|
746
|
+
"info.json",
|
|
747
|
+
"!locale/*/info.json",
|
|
748
|
+
"!data/**/info.json",
|
|
749
|
+
"!tests/**/info.json",
|
|
750
|
+
"!temp/**/info.json",
|
|
751
|
+
"!campaigns/*/info.json",
|
|
752
|
+
"!scenarios/*/info.json",
|
|
753
|
+
"!saves/**/info.json",
|
|
754
|
+
"!blueprint/info.json"
|
|
755
|
+
],
|
|
756
|
+
"url": "./schema/modinfo.json"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"fileMatch": [
|
|
760
|
+
"data/**/info.json",
|
|
761
|
+
"tests/**/info.json",
|
|
762
|
+
"!locale/*/info.json",
|
|
763
|
+
"!campaigns/*/info.json",
|
|
764
|
+
"!scenarios/*/info.json",
|
|
765
|
+
"!saves/**/info.json",
|
|
766
|
+
"!blueprint/info.json"
|
|
767
|
+
],
|
|
768
|
+
"url": "./schema/datainfo.json"
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"fileMatch": "locale/*/info.json",
|
|
772
|
+
"url": "./schema/localeinfo.json"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
"fileMatch": "scenarios/*/description.json",
|
|
776
|
+
"url": "./schema/scenario.json"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"fileMatch": "campaigns/*/description.json",
|
|
780
|
+
"url": "./schema/campaign.json"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"fileMatch": "migrations/*.json",
|
|
784
|
+
"url": "./schema/migration.json"
|
|
785
|
+
}
|
|
786
|
+
],
|
|
787
|
+
"breakpoints": [
|
|
788
|
+
{
|
|
789
|
+
"language": "lua"
|
|
790
|
+
}
|
|
791
|
+
],
|
|
792
|
+
"debuggers": [
|
|
793
|
+
{
|
|
794
|
+
"type": "factoriomod",
|
|
795
|
+
"label": "Factorio Mod Debug",
|
|
796
|
+
"program": "./dist/fmtk-cli.js",
|
|
797
|
+
"args": [
|
|
798
|
+
"debug"
|
|
799
|
+
],
|
|
800
|
+
"runtime": "node",
|
|
801
|
+
"languages": [
|
|
802
|
+
"lua",
|
|
803
|
+
"typescript"
|
|
804
|
+
],
|
|
805
|
+
"configurationAttributes": {
|
|
806
|
+
"launch": {
|
|
807
|
+
"properties": {
|
|
808
|
+
"trace": {
|
|
809
|
+
"type": "boolean",
|
|
810
|
+
"description": "Enable logging of the Debug Adapter Protocol.",
|
|
811
|
+
"default": false,
|
|
812
|
+
"examples": [
|
|
813
|
+
true
|
|
814
|
+
]
|
|
815
|
+
},
|
|
816
|
+
"tags": {
|
|
817
|
+
"type": "object",
|
|
818
|
+
"description": "Extra debug session tags, readable under `__DebugAdapter.tags` during this session."
|
|
819
|
+
},
|
|
820
|
+
"modsPath": {
|
|
821
|
+
"type": "string",
|
|
822
|
+
"description": "Absolute path to Factorio mods directory."
|
|
823
|
+
},
|
|
824
|
+
"manageMod": {
|
|
825
|
+
"type": "boolean",
|
|
826
|
+
"description": "Enable automatic management of the debugadapter mod",
|
|
827
|
+
"default": true
|
|
828
|
+
},
|
|
829
|
+
"useInstrumentMode": {
|
|
830
|
+
"type": "boolean",
|
|
831
|
+
"description": "Use Instrument Mode to hook all mods. Requires Factorio >= 0.18.10",
|
|
832
|
+
"default": true
|
|
833
|
+
},
|
|
834
|
+
"checkPrototypes": {
|
|
835
|
+
"type": "boolean",
|
|
836
|
+
"description": "Add --check-unused-prototype-data to factorioArgs."
|
|
837
|
+
},
|
|
838
|
+
"factorioArgs": {
|
|
839
|
+
"type": "array",
|
|
840
|
+
"items": {
|
|
841
|
+
"type": "string",
|
|
842
|
+
"examples": [
|
|
843
|
+
"--load-scenario",
|
|
844
|
+
"--disable-migration-window"
|
|
845
|
+
]
|
|
846
|
+
},
|
|
847
|
+
"default": [],
|
|
848
|
+
"description": "Extra command line arguments to pass to Factorio"
|
|
849
|
+
},
|
|
850
|
+
"env": {
|
|
851
|
+
"type": "object",
|
|
852
|
+
"description": "Environment variables to pass to Factorio",
|
|
853
|
+
"additionalProperties": {
|
|
854
|
+
"type": "string"
|
|
855
|
+
}
|
|
856
|
+
},
|
|
857
|
+
"adjustMods": {
|
|
858
|
+
"description": "Dictionary of modname -> true or version string to enable, false to disable",
|
|
859
|
+
"additionalProperties": {
|
|
860
|
+
"oneOf": [
|
|
861
|
+
{
|
|
862
|
+
"type": "boolean"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"type": "string",
|
|
866
|
+
"pattern": "(\\d+\\.){2}\\d+"
|
|
867
|
+
}
|
|
868
|
+
]
|
|
869
|
+
}
|
|
870
|
+
},
|
|
871
|
+
"adjustModSettings": {
|
|
872
|
+
"description": "List of settings to adjust before launching",
|
|
873
|
+
"type": "array",
|
|
874
|
+
"items": {
|
|
875
|
+
"type": "object",
|
|
876
|
+
"defaultSnippets": [
|
|
877
|
+
{
|
|
878
|
+
"label": "setting",
|
|
879
|
+
"body": {
|
|
880
|
+
"scope": "${1|startup,runtime-global,runtime-per-player|}",
|
|
881
|
+
"name": "$2",
|
|
882
|
+
"value": "$3"
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
],
|
|
886
|
+
"required": [
|
|
887
|
+
"scope",
|
|
888
|
+
"name"
|
|
889
|
+
],
|
|
890
|
+
"properties": {
|
|
891
|
+
"scope": {
|
|
892
|
+
"enum": [
|
|
893
|
+
"startup",
|
|
894
|
+
"runtime-global",
|
|
895
|
+
"runtime-per-player"
|
|
896
|
+
],
|
|
897
|
+
"description": "The scope of the setting to adjust"
|
|
898
|
+
},
|
|
899
|
+
"name": {
|
|
900
|
+
"type": "string",
|
|
901
|
+
"description": "The prototype name of the setting to adjust"
|
|
902
|
+
},
|
|
903
|
+
"value": {
|
|
904
|
+
"description": "New value for setting, omit to clear setting",
|
|
905
|
+
"type": [
|
|
906
|
+
"boolean",
|
|
907
|
+
"number",
|
|
908
|
+
"string"
|
|
909
|
+
]
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
},
|
|
914
|
+
"disableExtraMods": {
|
|
915
|
+
"description": "Disable any mods not named in `adjustMods`",
|
|
916
|
+
"type": "boolean"
|
|
917
|
+
},
|
|
918
|
+
"allowDisableBaseMod": {
|
|
919
|
+
"description": "Allow disabling the base mod. This is normally prevented, as it usually leaves the game in an unusable state.",
|
|
920
|
+
"type": "boolean"
|
|
921
|
+
},
|
|
922
|
+
"hookSettings": {
|
|
923
|
+
"type": "boolean",
|
|
924
|
+
"description": "Hook Settings Stage for stepping/debug",
|
|
925
|
+
"default": false
|
|
926
|
+
},
|
|
927
|
+
"hookData": {
|
|
928
|
+
"type": "boolean",
|
|
929
|
+
"description": "Hook Data Stage for stepping/debug",
|
|
930
|
+
"default": false
|
|
931
|
+
},
|
|
932
|
+
"hookControl": {
|
|
933
|
+
"type": [
|
|
934
|
+
"array",
|
|
935
|
+
"boolean"
|
|
936
|
+
],
|
|
937
|
+
"description": "List of mods to hook in Control Stage, or bool to (un)hook all. Use `level` for scenario/campaign scripts.",
|
|
938
|
+
"items": {
|
|
939
|
+
"type": "string"
|
|
940
|
+
},
|
|
941
|
+
"default": true
|
|
942
|
+
},
|
|
943
|
+
"hookMode": {
|
|
944
|
+
"enum": [
|
|
945
|
+
"debug",
|
|
946
|
+
"profile"
|
|
947
|
+
],
|
|
948
|
+
"default": "debug",
|
|
949
|
+
"description": "Select hook to install. Default is `debug` for stepping. Select `profile` for live profiling."
|
|
950
|
+
},
|
|
951
|
+
"hookLog": {
|
|
952
|
+
"type": "boolean",
|
|
953
|
+
"description": "Hook `log()` and convert to Output events",
|
|
954
|
+
"default": true
|
|
955
|
+
},
|
|
956
|
+
"keepOldLog": {
|
|
957
|
+
"type": "boolean",
|
|
958
|
+
"description": "When hooking `log()`, also call original `log()`",
|
|
959
|
+
"default": false
|
|
960
|
+
},
|
|
961
|
+
"runningBreak": {
|
|
962
|
+
"type": "integer",
|
|
963
|
+
"description": "Frequency of `running` break event, in line hook hits. Lower value is higher performance overhead. Lower value is shorter latency on Pause command.",
|
|
964
|
+
"default": 5000,
|
|
965
|
+
"minimum": 1
|
|
966
|
+
},
|
|
967
|
+
"runningTimeout": {
|
|
968
|
+
"type": "integer",
|
|
969
|
+
"description": "Timeout in ms for eval and variables requests while running",
|
|
970
|
+
"default": 2000,
|
|
971
|
+
"minimum": 1000
|
|
972
|
+
},
|
|
973
|
+
"profileSlowStart": {
|
|
974
|
+
"type": "integer",
|
|
975
|
+
"description": "Number of events to dump profilers after every Lua stack at startup (to allow for saving for migration). Use this if you're trying to profile migrations or other early load behavior.",
|
|
976
|
+
"default": 0,
|
|
977
|
+
"minimum": 0
|
|
978
|
+
},
|
|
979
|
+
"profileUpdateRate": {
|
|
980
|
+
"type": "integer",
|
|
981
|
+
"description": "Number of Lua stacks to accumulate (per mod) after slow-start before dumping. Lower value will update faster but run slower.",
|
|
982
|
+
"default": 500,
|
|
983
|
+
"minimum": 1
|
|
984
|
+
},
|
|
985
|
+
"profileLines": {
|
|
986
|
+
"type": "boolean",
|
|
987
|
+
"description": "Track and display execution time per-line. This greatly increases the noise/overhead in the measurments.",
|
|
988
|
+
"default": true
|
|
989
|
+
},
|
|
990
|
+
"profileFuncs": {
|
|
991
|
+
"type": "boolean",
|
|
992
|
+
"description": "Track and display execution time per-function.",
|
|
993
|
+
"default": true
|
|
994
|
+
},
|
|
995
|
+
"profileTree": {
|
|
996
|
+
"type": "boolean",
|
|
997
|
+
"description": "Track and display execution time on a call tree.",
|
|
998
|
+
"default": true
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
"initialConfigurations": [
|
|
1004
|
+
{
|
|
1005
|
+
"type": "factoriomod",
|
|
1006
|
+
"request": "launch",
|
|
1007
|
+
"name": "Factorio Mod Debug"
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"type": "factoriomod",
|
|
1011
|
+
"request": "launch",
|
|
1012
|
+
"name": "Factorio Mod Debug (Settings & Data)",
|
|
1013
|
+
"hookSettings": true,
|
|
1014
|
+
"hookData": true
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"type": "factoriomod",
|
|
1018
|
+
"request": "launch",
|
|
1019
|
+
"name": "Factorio Mod Debug (Profile)",
|
|
1020
|
+
"hookMode": "profile"
|
|
1021
|
+
}
|
|
1022
|
+
],
|
|
1023
|
+
"configurationSnippets": [
|
|
1024
|
+
{
|
|
1025
|
+
"label": "Factorio Mod Debug: Debug",
|
|
1026
|
+
"description": "A new configuration for debugging Factorio mods.",
|
|
1027
|
+
"body": {
|
|
1028
|
+
"type": "factoriomod",
|
|
1029
|
+
"request": "launch",
|
|
1030
|
+
"name": "Factorio Mod Debug"
|
|
1031
|
+
}
|
|
1032
|
+
},
|
|
1033
|
+
{
|
|
1034
|
+
"label": "Factorio Mod Debug: Debug (Settings & Data)",
|
|
1035
|
+
"description": "A new configuration for debugging Factorio mods in Settings & Data stages.",
|
|
1036
|
+
"body": {
|
|
1037
|
+
"type": "factoriomod",
|
|
1038
|
+
"request": "launch",
|
|
1039
|
+
"name": "Factorio Mod Debug",
|
|
1040
|
+
"hookSettings": true,
|
|
1041
|
+
"hookData": true
|
|
1042
|
+
}
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
"label": "Factorio Mod Debug: Profile",
|
|
1046
|
+
"description": "A new configuration for profiling Factorio mods.",
|
|
1047
|
+
"body": {
|
|
1048
|
+
"type": "factoriomod",
|
|
1049
|
+
"request": "launch",
|
|
1050
|
+
"name": "Factorio Mod Debug (Profile)",
|
|
1051
|
+
"hookMode": "profile"
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
]
|
|
1055
|
+
}
|
|
1056
|
+
],
|
|
1057
|
+
"customEditors": [
|
|
1058
|
+
{
|
|
1059
|
+
"viewType": "fmtk.modsettings",
|
|
1060
|
+
"displayName": "Mod Settings",
|
|
1061
|
+
"priority": "default",
|
|
1062
|
+
"selector": [
|
|
1063
|
+
{
|
|
1064
|
+
"filenamePattern": "*mod-settings*.dat"
|
|
1065
|
+
}
|
|
1066
|
+
]
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"viewType": "fmtk.scriptdat",
|
|
1070
|
+
"displayName": "Script.Dat",
|
|
1071
|
+
"priority": "default",
|
|
1072
|
+
"selector": [
|
|
1073
|
+
{
|
|
1074
|
+
"filenamePattern": "*script*.dat"
|
|
1075
|
+
}
|
|
1076
|
+
]
|
|
1077
|
+
}
|
|
1078
|
+
]
|
|
1079
|
+
}
|
|
1080
|
+
}
|