factoriomod-debug 1.1.24
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 +644 -0
- package/LICENSE.txt +22 -0
- package/ThirdPartyNotices.txt +37 -0
- package/dist/Flamegraph.css +2 -0
- package/dist/Flamegraph.js +2 -0
- package/dist/fmtk.js +2028 -0
- package/doc/debugadapter.md +29 -0
- package/doc/debugapi.md +37 -0
- package/doc/language-json.md +9 -0
- package/doc/language-lua.md +82 -0
- package/doc/language.md +15 -0
- package/doc/package.md +49 -0
- package/doc/profile.md +9 -0
- package/doc/variables.md +21 -0
- package/doc/workspace.md +35 -0
- package/images/factoriomod-debug-icon.png +0 -0
- package/images/viewicon.svg +30 -0
- package/language/factorio-changelog.json +28 -0
- package/language/factorio-changelog.language-configuration.json +13 -0
- package/language/factorio-changelog.tmLanguage.json +77 -0
- package/language/factorio-locale.json +131 -0
- package/language/factorio-locale.language-configuration.json +15 -0
- package/language/factorio-locale.tmLanguage.json +229 -0
- package/package.json +1068 -0
- package/readme.md +14 -0
- package/schema/campaign.json +42 -0
- package/schema/datainfo.json +89 -0
- package/schema/localeinfo.json +21 -0
- package/schema/mapgen.json +85 -0
- package/schema/mapsettings.json +166 -0
- package/schema/modinfo.json +124 -0
- package/schema/scenario.json +28 -0
- package/schema/serversettings.json +132 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,644 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
[<img height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi2.png?v=2' border='0' alt='Buy Me a Coffee at ko-fi.com'/>](https://ko-fi.com/X8X41IE4T)
|
|
4
|
+
|
|
5
|
+
## 1.1.24
|
|
6
|
+
|
|
7
|
+
* Sumneko 3rd party library package:
|
|
8
|
+
* Generated docs are no longer in workspace, instead a 3rd party library package is built in workspace-storage to reduce clutter and better support multi-root workspaces. Note this will not automatically clean up the old files/settings you may have had, to avoid clobbering any customizations.
|
|
9
|
+
* Includes [FactorioSumnekoLuaPlugin](https://github.com/JanSharp/FactorioSumnekoLuaPlugin) automatically
|
|
10
|
+
* Includes some additional static library files for `serpent`, `mod-gui`, `util`, etc
|
|
11
|
+
* Additional tweaks to libraries (`math`, `package`, `debug`, etc...) to reflect factorio's changes to Lua builtin libraries
|
|
12
|
+
* Generated docs now use `@enum` tags for `defines`
|
|
13
|
+
* Removed generated type aliases for bare event names. Use `EventData.eventname` instead (introduced 1.1.16).
|
|
14
|
+
* Callable classes now use `@overload` tags
|
|
15
|
+
* Locale:
|
|
16
|
+
* Added syntax highlighting for `__FLUID__name__`, and move/click controls
|
|
17
|
+
* Added snippet for `__FLUID__name__`
|
|
18
|
+
|
|
19
|
+
## 1.1.23
|
|
20
|
+
|
|
21
|
+
* Fixed library management incorrectly truncating the end of the array
|
|
22
|
+
* Convert Locale and Changelog support to LSP
|
|
23
|
+
* Small DAP protocol fixes
|
|
24
|
+
* Go To Definition and Completion support for locale keys in Lua
|
|
25
|
+
* Fixed an issue where preparing debug views of a table could inadvertantly cause it to rehash ("invalid key to next" when iterating while deleting)
|
|
26
|
+
* Tasks all converted to standalone processes:
|
|
27
|
+
* No longer automatically runs `compile` tasks before debug session. Use `preLaunchTask` if you want these tasks still run.
|
|
28
|
+
* Publish subtasks have been reordered for easier recovery from failed uploads
|
|
29
|
+
* Default publish branch now follows the value of `git config init.defaultBranch`
|
|
30
|
+
* Disabled `checkGlobals` in simulations by default.
|
|
31
|
+
* Fixed an incorrect warning when unregistering/reregistering command handlers.
|
|
32
|
+
|
|
33
|
+
## 1.1.22
|
|
34
|
+
|
|
35
|
+
* Add `global` back to `Lua.diagnostics.globals`
|
|
36
|
+
* Offer to regenerate docs when they seem to be out of date
|
|
37
|
+
* Generate operators for sumneko 3.5
|
|
38
|
+
* Option to not generate docs when selecting a version
|
|
39
|
+
* Bundle extension with esbuild (overall ~1/4 download size)
|
|
40
|
+
* WIP support for running debug adapter and some mod management commands outside vscode for other editors/debug adapter clients
|
|
41
|
+
|
|
42
|
+
## 1.1.21
|
|
43
|
+
|
|
44
|
+
* Support v3 json docs
|
|
45
|
+
* Some overlay corrections to `BlueprintControlBehavior`
|
|
46
|
+
* Automatically manage data and docs links in `Lua.workspace.library`
|
|
47
|
+
* General cleanup of docs generator
|
|
48
|
+
* Added command to clear saved API key
|
|
49
|
+
|
|
50
|
+
## 1.1.20
|
|
51
|
+
|
|
52
|
+
* Fix some ts->js files with inconsistent file case
|
|
53
|
+
|
|
54
|
+
## 1.1.19
|
|
55
|
+
|
|
56
|
+
* Added missing config definition for `factorio.workspace.library`
|
|
57
|
+
* Support `${env:ENVVAR}` in path settings
|
|
58
|
+
* Correctly generate `enum` concept types
|
|
59
|
+
* Migrate API keys to secure storage from settings
|
|
60
|
+
* Clarify prompts on manaul factorio version configuration
|
|
61
|
+
* New default numeric type option: Use `alias` for numeric types which exactly match `number` (or `integer` if enabled), and `class` otherwise
|
|
62
|
+
|
|
63
|
+
## 1.1.18
|
|
64
|
+
|
|
65
|
+
* Restored incorrectly removed definiton for `modsPath` in launch.json
|
|
66
|
+
* Use `integer` as the base type for factorio's int builtins
|
|
67
|
+
|
|
68
|
+
## 1.1.17
|
|
69
|
+
|
|
70
|
+
* Doc Generation Options:
|
|
71
|
+
* Alias or class for specialized number types
|
|
72
|
+
* Version for online doc links
|
|
73
|
+
* Correctly handle no `.vscode/factorio` dir in cleanup before generation
|
|
74
|
+
* `LuaObject` as base class for all classes, instead of union of all classes
|
|
75
|
+
* `__debugchildren` has been replaced by `__debugcontents`
|
|
76
|
+
* Debug console evals that return multiple results will show all results
|
|
77
|
+
|
|
78
|
+
## 1.1.16
|
|
79
|
+
|
|
80
|
+
* Generate an indexed type for `defines.prototypes`
|
|
81
|
+
* Factorio Version Selector
|
|
82
|
+
* Generate Sumneko EmmyLua typdefs in multiple files, and automatically when switching versions
|
|
83
|
+
* Correctly locate files in `core` and `base` when debugging
|
|
84
|
+
* `__DebugAdapter.dumpIgnore(source:string|string[])` to disable dumping (disassembly, breakpoint validation) for specific files. This is useful for very large data files where stepping is not relevant and dumping is expensive (long hang when `require`ing the file).
|
|
85
|
+
* Moved event data types to `EventData.eventname` type names, with (temporary) aliases from `eventname` for compatiblity
|
|
86
|
+
* Improved generation of union and table_or_array concepts and defines types
|
|
87
|
+
* Correctly locate files in user scenarios
|
|
88
|
+
* Removed `__DebugAdapter.levelPath` stub
|
|
89
|
+
|
|
90
|
+
## 1.1.15
|
|
91
|
+
|
|
92
|
+
* Terminate sessions instead of hanging when failing to read JSON docs
|
|
93
|
+
* Read correct JSON docs path on mac
|
|
94
|
+
|
|
95
|
+
## 1.1.14
|
|
96
|
+
|
|
97
|
+
* Load LuaObject type data from Factorio's JSON docs for listing properties when debugging
|
|
98
|
+
* List some property-like function on LuaObjects as fetchable properties
|
|
99
|
+
* `__DebugAdapter.stepIgnore()` now handles both tables and functions. `__DebugAdapter.stepIgnoreAll()` has been removed.
|
|
100
|
+
* Updated Sumneko EmmyLua typdef generator for Sumneko 3
|
|
101
|
+
|
|
102
|
+
## 1.1.13
|
|
103
|
+
|
|
104
|
+
* Added `__REMARK_COLOR_BEGIN__` and `__REMARK_COLOR_END__` to locale highlighter
|
|
105
|
+
* Publishing mods now uses the new Mod Portal Upload API.
|
|
106
|
+
|
|
107
|
+
## 1.1.12
|
|
108
|
+
|
|
109
|
+
* __DebugAdapter.terminate() to end session from script
|
|
110
|
+
* __DebugAdapter.raise_event(event,data,modname) to call event handlers directly for testing
|
|
111
|
+
* Updated LuaObject recongition for debug views to reflect implementation detail changes in Factorio's API (no longer uses `__self`)
|
|
112
|
+
* Don't accept `nil` filters on custom-input events
|
|
113
|
+
* TypeDef generator now accepts Factorio Machine-Readable-Docs V2
|
|
114
|
+
* Various disassembler view fixes
|
|
115
|
+
|
|
116
|
+
## 1.1.11
|
|
117
|
+
|
|
118
|
+
* Don't offer ! and version in depencency snippets
|
|
119
|
+
* Add overlay for tweaks to generated typedefs
|
|
120
|
+
* Various disassembler fixes
|
|
121
|
+
* Support "Loaded Sources" view
|
|
122
|
+
* Significant (~2x) speedup in profiling, noise reduction on line timers
|
|
123
|
+
* Profiler can now measure `on_load`
|
|
124
|
+
|
|
125
|
+
## 1.1.10
|
|
126
|
+
|
|
127
|
+
* Correctly capture raw `remote` for debugger internal use before replacing it with wrapper
|
|
128
|
+
* New Command "Generate Typedefs" to convert json docs to EmmyLua docs (and configure general workspace settings)
|
|
129
|
+
|
|
130
|
+
## 1.1.9
|
|
131
|
+
|
|
132
|
+
* Correctly reverse-lookup `defines.inventory.artillery_wagon_ammo`
|
|
133
|
+
* Warn when using `math.randomseed()` which is disabled in Factorio
|
|
134
|
+
* Warn when replacing an existing event handler
|
|
135
|
+
* Correctly handle empty `info.json` files in workspace
|
|
136
|
+
|
|
137
|
+
## 1.1.8
|
|
138
|
+
|
|
139
|
+
* Mod name and title lengths are now limited to 100 characters
|
|
140
|
+
* Correctly validate `~` unordered mod dependencies
|
|
141
|
+
* Snippet for creating dependency entries
|
|
142
|
+
|
|
143
|
+
## 1.1.7
|
|
144
|
+
|
|
145
|
+
* Fixed `failed locating source` for unpacked mods located through modsPath
|
|
146
|
+
|
|
147
|
+
## 1.1.6
|
|
148
|
+
|
|
149
|
+
* Fixed steam detection on mac/linux
|
|
150
|
+
* Additional diagnostics for failures while locating source for mods
|
|
151
|
+
|
|
152
|
+
## 1.1.5
|
|
153
|
+
|
|
154
|
+
* Added `no_git_tag` option in `info.json`
|
|
155
|
+
* Re-enabled expandable log items from `__DebugAdapter.print()`
|
|
156
|
+
* Expand embedded expressions in printed strings as variables
|
|
157
|
+
* Use "loose" semver parsing in various places, to handle extra leading zeros
|
|
158
|
+
* Converted "Output" window messages to debug console output
|
|
159
|
+
* Activate Zip Explorer extension before trying to run commands from it
|
|
160
|
+
* Added setting `factorio.package.defaultPublishBranch`
|
|
161
|
+
|
|
162
|
+
## 1.1.4
|
|
163
|
+
|
|
164
|
+
* Update class data to Factorio 1.1.12
|
|
165
|
+
* Fixed "attempt to index local 'lastframe' (a nil value)" when calling `__DebugAdapter.breakpoint`
|
|
166
|
+
* Use Command text as source when available
|
|
167
|
+
* Disassemble Lua if no source is available
|
|
168
|
+
* Correctly resolve `@__core__` paths
|
|
169
|
+
* Fixed `script.on_event` would silently ignore filters when registering lists of events
|
|
170
|
+
|
|
171
|
+
## 1.1.3
|
|
172
|
+
|
|
173
|
+
* Step-in on api access that raises events will step into handlers
|
|
174
|
+
* Fixed "attempt to index local 'lastframe' (a nil value)" when breaking on exception
|
|
175
|
+
* Removed break-on-exception when not running in Instrument Mode
|
|
176
|
+
* If selected frame has a local or upval `_ENV`, evals will use it instead of the global environment
|
|
177
|
+
* Removed Event Check
|
|
178
|
+
* Expand functions's upvals as children in Variables view
|
|
179
|
+
* `__DebugAdapter.levelPath` is no longer required, as it can be filled automatically from `script.level`
|
|
180
|
+
|
|
181
|
+
## 1.1.2
|
|
182
|
+
|
|
183
|
+
* Show best-guess arguments for `__index` and `__newindex` in stack trace
|
|
184
|
+
* Collect and display stacks for some api calls that can raise events
|
|
185
|
+
* Display enum properties of LuaObjects as names from `defines.*`
|
|
186
|
+
* Metatable field `__debugtype` to set the displayed typename of an object
|
|
187
|
+
* Show table keys with virtual children `<key>` and `<value>` and rename with unique names
|
|
188
|
+
* Upload task now looks for zips in the correct place when Package is configured to place them outside the mod folder
|
|
189
|
+
* Launch option `adjustModSettings` to update/clear mod settings before launching a debug session
|
|
190
|
+
* Don't hang when `info.json` with `null` exists in workspace
|
|
191
|
+
* Don't set extension filter on factorioPath prompt on non-windows
|
|
192
|
+
* Update class data to Factorio 1.1.6
|
|
193
|
+
|
|
194
|
+
## 1.1.1
|
|
195
|
+
|
|
196
|
+
* Fix setting breakpoints during simulations
|
|
197
|
+
|
|
198
|
+
## 1.1.0
|
|
199
|
+
|
|
200
|
+
* Always use `-F -` for tags, even when empty
|
|
201
|
+
* Fix infinite recursion when cleaning long refs
|
|
202
|
+
* Disabled expandable log items from `__DebugAdapter.print({...})` by default due to issues with vscode debug console
|
|
203
|
+
* Updated class data and mod for Factorio 1.1.0
|
|
204
|
+
|
|
205
|
+
## 0.18.49
|
|
206
|
+
|
|
207
|
+
* Correctly highlight empty plural
|
|
208
|
+
* Fixed crash if an on_tick handler with no argument has a LuaObject in its first temporary when building callstack
|
|
209
|
+
* Ignore info.json in scenarios/saves
|
|
210
|
+
|
|
211
|
+
## 0.18.48
|
|
212
|
+
|
|
213
|
+
* Fix error when mods replace builtin `print` incorrectly
|
|
214
|
+
|
|
215
|
+
## 0.18.47
|
|
216
|
+
|
|
217
|
+
* Pretty-print mod-list.json when adjusting mods
|
|
218
|
+
* Stricter check for LuaObjects in isUnsafeLong()
|
|
219
|
+
|
|
220
|
+
## 0.18.46
|
|
221
|
+
|
|
222
|
+
* Removed Locale highlighter rule for unrecognized rich text tags
|
|
223
|
+
* Fixed script error when setting checkEvents or checkGlobals
|
|
224
|
+
|
|
225
|
+
## 0.18.45
|
|
226
|
+
|
|
227
|
+
* Capture `debug` in case someone overwites it
|
|
228
|
+
|
|
229
|
+
## 0.18.44
|
|
230
|
+
|
|
231
|
+
* Reworked locale highlighter
|
|
232
|
+
* Locale Snippets for various tags/variables
|
|
233
|
+
* Correctly highlight locale variable `__CONTROL_MOVE__`
|
|
234
|
+
* CodeAction to merge duplicate locale sections
|
|
235
|
+
|
|
236
|
+
## 0.18.43
|
|
237
|
+
|
|
238
|
+
* Correctly include `profile-control.lua` when debugadapter itself is not hooked
|
|
239
|
+
|
|
240
|
+
## 0.18.42
|
|
241
|
+
|
|
242
|
+
* Fix flamegraph not building trees correctly
|
|
243
|
+
* Configuration options for various extra diagnostics
|
|
244
|
+
* `postpublish` task
|
|
245
|
+
* Open Changelog command in packages view
|
|
246
|
+
* Eval now correctly uses the last matching local instead of the first
|
|
247
|
+
* Rename shadowed locals in Variables view so they display correctly
|
|
248
|
+
* Fixed not correctly differentiating multiple varRefs for the same table with `extra` property set
|
|
249
|
+
* Mark generated variables as `virtual`
|
|
250
|
+
|
|
251
|
+
## 0.18.41
|
|
252
|
+
|
|
253
|
+
* Debug console supports `__modname__` prefix while in break
|
|
254
|
+
* Better error reporting for tasks.json tasks
|
|
255
|
+
* Branch name configuration for Publish was not correctly applied
|
|
256
|
+
* Timeout on queued stdin commands configurable, raised default to 2s
|
|
257
|
+
* Restrict tasks to operate only on the latest version of a mod
|
|
258
|
+
* Support `~` in launch.json path options
|
|
259
|
+
|
|
260
|
+
## 0.18.40
|
|
261
|
+
|
|
262
|
+
* Fixed incorrect vars showing when first retreived after stopping on first stop in a lua state
|
|
263
|
+
|
|
264
|
+
## 0.18.39
|
|
265
|
+
|
|
266
|
+
* Fixed incorrect vars showing when first retreived after stopping
|
|
267
|
+
|
|
268
|
+
## 0.18.38
|
|
269
|
+
|
|
270
|
+
* Fixed debug session not ending when factorio closes
|
|
271
|
+
* More consistent use of URIs for path mapping
|
|
272
|
+
* Debug console supports `__modname__` prefix when named Lua State is available (correctly this time...)
|
|
273
|
+
|
|
274
|
+
## 0.18.37
|
|
275
|
+
|
|
276
|
+
* Return original unwrapped handler from `script.get_event_handler`
|
|
277
|
+
* Fixed various missing stepIgnores
|
|
278
|
+
* stepIgnore and stepIgnoreAll now return the function/table passed in, for convenience
|
|
279
|
+
* Most objects printed with `__DebugAdapter.print(obj)` will be expandable in debug console as long as the source Lua State is still active
|
|
280
|
+
* Pause button able to break into long running code
|
|
281
|
+
* General code cleanup
|
|
282
|
+
* Optional arguments `upStack` and `category` on `__DebugAdapter.print()`
|
|
283
|
+
* Debug console can be used while running - it will run in the active Lua State for settings/data or in `level` if available for control.
|
|
284
|
+
* Correctly display and offer more color formats in locale
|
|
285
|
+
* Task "adjustMods" can be used to reconfigure mods from vscode
|
|
286
|
+
* Fix infinite loop in eval _ENV lookups when function outlives the eval that created it
|
|
287
|
+
* Support vscode vars in launch.json config
|
|
288
|
+
* Debug console supports `__modname__` prefix when named Lua State is available
|
|
289
|
+
* Branch name for Publish is configurable
|
|
290
|
+
|
|
291
|
+
## 0.18.36
|
|
292
|
+
|
|
293
|
+
* Profiler flamegraph label more reliable
|
|
294
|
+
* Don't show flamegraph panel when tracking call trees not enabled
|
|
295
|
+
|
|
296
|
+
## 0.18.35
|
|
297
|
+
|
|
298
|
+
* Profiler flamegraph works correctly on VSCode 1.48
|
|
299
|
+
|
|
300
|
+
## 0.18.34
|
|
301
|
+
|
|
302
|
+
* Add locale vars `__CONTROL_STYLE_BEGIN__` and `__CONTROL_STYLE_END__` (for real this time)
|
|
303
|
+
* Locale var `__ALT_CONTROL__` correctly matches two args
|
|
304
|
+
* Fix breakpoints not loading initially in settings stage
|
|
305
|
+
* Added profiler flamegraph of call trees
|
|
306
|
+
* Profiler options to select line/function/calltree timers
|
|
307
|
+
* `__DebugAdapter.defineGlobal(name)` to disable warning on global access
|
|
308
|
+
* Profiler remote interface
|
|
309
|
+
|
|
310
|
+
## 0.18.33
|
|
311
|
+
|
|
312
|
+
* Add locale vars `__CONTROL_STYLE_BEGIN__` and `__CONTROL_STYLE_END__`
|
|
313
|
+
* Add options to configure created mod zip location, and automatically remove after successful publish
|
|
314
|
+
* Detect and offer to disable prototype caching, which conflicts with part of debugger init
|
|
315
|
+
* Added `compile` task which is run in `package` and before launching debug session
|
|
316
|
+
* Added variable $MODNAME to git templates
|
|
317
|
+
* Added setting "factorio.package.tagName"
|
|
318
|
+
* Deprecated setting "factorio.package.tagVPrefix"
|
|
319
|
+
|
|
320
|
+
## 0.18.32
|
|
321
|
+
|
|
322
|
+
* Updated class data to Factorio 1.0.0
|
|
323
|
+
* Temporarily unlisted property LuaItemStack::blueprint_icons to avoid crash when reading it in Factorio 1.0.0
|
|
324
|
+
|
|
325
|
+
## 0.18.31
|
|
326
|
+
|
|
327
|
+
* Allow 1.x in various compatibility version tests
|
|
328
|
+
|
|
329
|
+
## 0.18.30
|
|
330
|
+
|
|
331
|
+
* Remove special case for `__self` in eval env
|
|
332
|
+
* Support(ish) launching Factorio with a native debugger
|
|
333
|
+
|
|
334
|
+
## 0.18.29
|
|
335
|
+
|
|
336
|
+
* Use `rawget` when identifying tables for inspection
|
|
337
|
+
* Remove duplicate `@` in function descriptions
|
|
338
|
+
* Steam support
|
|
339
|
+
|
|
340
|
+
## 0.18.28
|
|
341
|
+
|
|
342
|
+
* Include factorioPath="" in initialConfigurations
|
|
343
|
+
* Better error when calling remote interfaces or methods that don't exist
|
|
344
|
+
* Merged Factorio Mod Packages views into one. Depending on configuration, you may need to reactivate the view after this update.
|
|
345
|
+
* Factorio Mod Packages view has an icon when used as a standalone panel
|
|
346
|
+
* Sorted Factorio Mod Packages view alphabetically
|
|
347
|
+
* Correctly catch `error(nil)`
|
|
348
|
+
* Correctly wrap `script.on_nth_tick` when given an array of ticks
|
|
349
|
+
|
|
350
|
+
## 0.18.27
|
|
351
|
+
|
|
352
|
+
* More correct heuristic for attempting to translate tables as LocalisedString, gracefully handle translation failure.
|
|
353
|
+
|
|
354
|
+
## 0.18.26
|
|
355
|
+
|
|
356
|
+
* Updated Mod Portal login procedure to work with the new Portal
|
|
357
|
+
|
|
358
|
+
## 0.18.25
|
|
359
|
+
|
|
360
|
+
* Report errors and more detail when searching for mods for path mapping
|
|
361
|
+
|
|
362
|
+
## 0.18.24
|
|
363
|
+
|
|
364
|
+
* Nicer log() hook on Factorio >= 0.18.34
|
|
365
|
+
* Ignore Unicode BOM in Changelog files
|
|
366
|
+
* Cleaned up path mapping between factorio/vscode
|
|
367
|
+
* Now supports non-versioned unzipped mods
|
|
368
|
+
* Correctly loads unzipped mods from mods from modsPath~=workspace before zipped mods
|
|
369
|
+
* Correctly parse mod paths with __ in paths
|
|
370
|
+
* Load only used zips when launching debug
|
|
371
|
+
* Clear previously loaded zips before reloading
|
|
372
|
+
* If using manual require in settings stage, it may now be needed to list debugadapter as an optional dependency to ensure Modules event is completed first. Instrument mode handles this automatically.
|
|
373
|
+
* Updated class data to Factorio 0.18.34
|
|
374
|
+
* Wrap new script.raise_* methods to pass call stack, matching raise_event wrapper
|
|
375
|
+
* Don't omit source on stepIgnore stack frames
|
|
376
|
+
|
|
377
|
+
## 0.18.23
|
|
378
|
+
|
|
379
|
+
* Correctly encode Infinity, -Infinity and NaN in json
|
|
380
|
+
* Set stepIgnore on log hook functions
|
|
381
|
+
* Support new metamethod `__debugvisualize(self)` for formatting values for [hediet.debug-visualizer](https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer)
|
|
382
|
+
* Debug line and visualizer for noise expressions
|
|
383
|
+
* Warn on first assignment to undefined Lua global variables
|
|
384
|
+
|
|
385
|
+
## 0.18.22
|
|
386
|
+
|
|
387
|
+
* Changed automatic zip exclusion when packaging from `**/*.zip` to `**/modname_*.zip`, to prevent excluding `blueprint.zip` in scenarios.
|
|
388
|
+
|
|
389
|
+
## 0.18.21
|
|
390
|
+
|
|
391
|
+
* Fixed incorrect regex in info.json schema
|
|
392
|
+
|
|
393
|
+
## 0.18.20
|
|
394
|
+
|
|
395
|
+
* Use Lua Registry to enforce certain libraries are singletons even when package.loaded is cleared in data stage
|
|
396
|
+
* Correctly report parse errors in timed eval requests
|
|
397
|
+
* Don't flag spaces in mod names in dependencies as errors (old mods with spaces exist)
|
|
398
|
+
* Profile line timers now include called function time, added function timers
|
|
399
|
+
* Incremental dumping of profile timers to reduce stutter while profiling
|
|
400
|
+
* Reworked profile line timer coloring options
|
|
401
|
+
|
|
402
|
+
## 0.18.19
|
|
403
|
+
|
|
404
|
+
* Capture `print` and `localised_print` in `profile.lua` for compatiblity with mods that overwrite them
|
|
405
|
+
* Better calculation of profile column width
|
|
406
|
+
* Fix an error in prior update's change to display of array-like tables
|
|
407
|
+
|
|
408
|
+
## 0.18.18
|
|
409
|
+
|
|
410
|
+
* Removed StreamSplitter
|
|
411
|
+
* On Factorio>=0.18.24, use `localised_print` to translate various output:
|
|
412
|
+
* Error messages, including multi-line output
|
|
413
|
+
* LocalisedStrings and LuaProfilers in Variables view
|
|
414
|
+
* LocalisedStrings in `log` hook and `__DebugAdapter.print`
|
|
415
|
+
* LocalisedStrings in Debug Console output or errors
|
|
416
|
+
* Duration of Debug Console commands, timers for profiling
|
|
417
|
+
* Alternate hook mode for live-ish profiling in control stage
|
|
418
|
+
* Correctly identify tailcalls in `log` hook and `__DebugAdapter.print`, instead of incorrect callsite
|
|
419
|
+
* Use a more permissive JSON schema for `info.json` inside `data`
|
|
420
|
+
* Correctly exclude locale `info.json` files from mod/data schema
|
|
421
|
+
* Support [hediet.debug-visualizer](https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer), with eval context "visualize" and user-provided visualization converters
|
|
422
|
+
* Print type of invalid objects in json
|
|
423
|
+
* Correctly show children of tables with large gaps in array segment
|
|
424
|
+
* Live terminal output for mod scripts in packaging tasks
|
|
425
|
+
* Updated class data to Factorio 0.18.24
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
## 0.18.17
|
|
429
|
+
|
|
430
|
+
* Fix `Version` task failing when symbols in `info.json` cannot be loaded
|
|
431
|
+
* Correct order of comment syntax rules for Locale files
|
|
432
|
+
* Show warnings for various problems in Locale files
|
|
433
|
+
* Fixed F5 while running would queue up incorrect commands
|
|
434
|
+
* Display `[Variables Currently Unavailable]` when variables cannot be displayed for the current stack frame
|
|
435
|
+
* Don't pre-load mod zips when launching without debugger
|
|
436
|
+
|
|
437
|
+
## 0.18.16
|
|
438
|
+
|
|
439
|
+
* Add allowDisableBaseMod to disable protection on `base` in `adjustMods`
|
|
440
|
+
* Hook `log()` to produce Output events with clickable source links. Launch args `hookLog` and `keepOldLog` can adjust this behavior.
|
|
441
|
+
* Error hint for missing config.ini
|
|
442
|
+
* Launch Args to selectively install hooks in Settings, Data and per-mod in Control stage. Settings and Data now default off and must be enabled if desired, Control defaults to hook all mods.
|
|
443
|
+
* Launch Arg factorioPath is no longer required - if absent or empty, will prompt for location
|
|
444
|
+
* More correct handling of tables with unusual numeric keys
|
|
445
|
+
* Follow `terminal.integrated.shell.*` and `terminal.integrated.automationShell.*` settings
|
|
446
|
+
|
|
447
|
+
## 0.18.15
|
|
448
|
+
|
|
449
|
+
* SIGKILL for second attempt to kill Factorio when ending a debug session
|
|
450
|
+
* Fix rawlen() fix incorrectly applied to LuaCustomTable
|
|
451
|
+
* Add adjustMods and disableExtraMods to launch args
|
|
452
|
+
* Step inside zip files with slevesque.vscode-zipexplorer
|
|
453
|
+
|
|
454
|
+
## 0.18.14
|
|
455
|
+
|
|
456
|
+
* Include JSON Scheme for clusterio instances.json file
|
|
457
|
+
* Use rawlen() in Variables views to correctly handle objects with incorrect __len metamethods
|
|
458
|
+
|
|
459
|
+
## 0.18.13
|
|
460
|
+
|
|
461
|
+
* Catch rare condition in Increment Version command where no symbols are found in info.json
|
|
462
|
+
* Correctly report missing paths in config.ini
|
|
463
|
+
* Don't attempt to translate errors outside of events
|
|
464
|
+
* Updated class data to Factorio 0.18.18
|
|
465
|
+
* Correctly update level script path after path hint
|
|
466
|
+
|
|
467
|
+
## 0.18.12
|
|
468
|
+
|
|
469
|
+
* Accept top level null in scenario/campaign info.json
|
|
470
|
+
* Highlight comment and invalid lines in locale
|
|
471
|
+
* Provide default GitLens config for changelogs
|
|
472
|
+
* Use annotated git tags. Optionally prefix version with 'v' and include commit message.
|
|
473
|
+
* Always include trailing slash on `--mod-directory`
|
|
474
|
+
* Updated class data to Factorio 0.18.17
|
|
475
|
+
|
|
476
|
+
## 0.18.11
|
|
477
|
+
|
|
478
|
+
* Updated class data to Factorio 0.18.13
|
|
479
|
+
* Auto-generated git commits now set configurable author, and message templates configurable
|
|
480
|
+
* Use `terminal.integrated.env.{platform}` settings to provide additional env vars to mod scripts
|
|
481
|
+
|
|
482
|
+
## 0.18.10
|
|
483
|
+
|
|
484
|
+
* Updated Debug Adapter Protocol capabilities report
|
|
485
|
+
* Updated class data to Factorio 0.18.12
|
|
486
|
+
|
|
487
|
+
## 0.18.9
|
|
488
|
+
|
|
489
|
+
* Fix config.ini failing to auto-detect in many scenarios
|
|
490
|
+
* Improved logging of what files are auto-detected where
|
|
491
|
+
|
|
492
|
+
## 0.18.8
|
|
493
|
+
|
|
494
|
+
* Fix typo in Increment Version command label
|
|
495
|
+
* Fix not always killing Factorio on Macs
|
|
496
|
+
* Read config.ini for mods/data paths. Removed dataPath in launch config, added configPath. modsPath and configPath also set the corresponding command line args.
|
|
497
|
+
* Don't recheck info.json during a debug session, only when starting a new session.
|
|
498
|
+
* Fixed crash when running remote.call() in /c
|
|
499
|
+
* Don't attempt to catch an exception if there is no locatable source to show it at (eg. console commands)
|
|
500
|
+
|
|
501
|
+
## 0.18.7
|
|
502
|
+
|
|
503
|
+
* Correctly handle `script.on_nth_tick(nil)`
|
|
504
|
+
|
|
505
|
+
## 0.18.6
|
|
506
|
+
|
|
507
|
+
* Don't add `--instrument-mod` to command line args when launching without debug
|
|
508
|
+
|
|
509
|
+
## 0.18.5
|
|
510
|
+
|
|
511
|
+
* Updated class data to Factorio 0.18.10
|
|
512
|
+
* Use Instrument Mode by default (Requires Factorio >= 0.18.10)
|
|
513
|
+
* Force canonical-name requires for public-facing files (debugadapter.lua and variables.lua)
|
|
514
|
+
|
|
515
|
+
## 0.18.4
|
|
516
|
+
|
|
517
|
+
* Added __DebugAdapter.breakpoint(mesg)
|
|
518
|
+
* `\n` escape in locale is now `constant.character.escape.factorio-locale`
|
|
519
|
+
* Hook `pcall` and `xpcall` and allow optionally breaking on caught exception
|
|
520
|
+
* Use environment vars FACTORIO_PORTAL_USERNAME and FACTORIO_PORTAL_PASSWORD when not configured in settings
|
|
521
|
+
* provide environment var FACTORIO_MODNAME and FACTORIO_MODVERSION to all mod scripts
|
|
522
|
+
* explicitly save files edited by tasks, instead of saveAll
|
|
523
|
+
* packages view may be moved to SCM section
|
|
524
|
+
* fixed Package command not waiting to finish building zip before returning, which caused it to sometimes pick up edits made later by Publish
|
|
525
|
+
|
|
526
|
+
## 0.18.3
|
|
527
|
+
|
|
528
|
+
* non-standard category in changelog as Hint instead of Information
|
|
529
|
+
* Factorio 0.18.2 added LuaEntityPrototype::inserter_pickup_position and inserter_drop_position
|
|
530
|
+
* evil translation hack to display translated LocalisedString errors
|
|
531
|
+
* changelog linter error for line prefix with no content
|
|
532
|
+
* remove changelog diagnostics when a file is removed
|
|
533
|
+
* allow two-part version in info.json dependencies
|
|
534
|
+
* automatically package and publish mods
|
|
535
|
+
|
|
536
|
+
## 0.18.2
|
|
537
|
+
|
|
538
|
+
* Changelog separator line is keyword.control
|
|
539
|
+
* correctly highlight changelog version number with only two numeric parts
|
|
540
|
+
* changelog linter
|
|
541
|
+
* color widget on [color=...] tags in locale
|
|
542
|
+
* add support for proposed "Instrument Mode", disabled by default
|
|
543
|
+
* fix incorrect link in campaign schema to scenario schema
|
|
544
|
+
* outline for locale and changelog
|
|
545
|
+
* improved highlighting of plurals in locale files
|
|
546
|
+
* correctly highlight inside enclosing tags in locale
|
|
547
|
+
|
|
548
|
+
## 0.18.1
|
|
549
|
+
|
|
550
|
+
* __DebugAdapter.print(notstring) will print the object's `describe` lineitem
|
|
551
|
+
* don't trim log messages
|
|
552
|
+
* fix debugging data stage after entrypoint changes, for real this time
|
|
553
|
+
* JSON Schemas for info.json, description.json, server-settings.json, map-settings.json, map-gen-settings.json
|
|
554
|
+
* Syntax highlighting for Locale *.cfg and changelog.txt files
|
|
555
|
+
* Factorio 0.18.1 added LuaSurface::brightness_visual_weights
|
|
556
|
+
* Keep output channel open and reuse between sessions
|
|
557
|
+
|
|
558
|
+
## 0.18.0
|
|
559
|
+
|
|
560
|
+
* Update for Factorio 0.18
|
|
561
|
+
* use `script.active_mods` to remove last dependencies on `game`. Enables stepping in control.lua main chunk and on_load, and break-on-exception in on_load. Removed various workarounds for not having this.
|
|
562
|
+
* use LuaObject.object_name to classify objects. Detailed views of LuaStructs.
|
|
563
|
+
|
|
564
|
+
## 0.17.8
|
|
565
|
+
|
|
566
|
+
* better hide frames with no available source
|
|
567
|
+
* fix debugging data stage after entrypoint changes
|
|
568
|
+
* allow extra args to factorio
|
|
569
|
+
* evaluate names for most variables
|
|
570
|
+
|
|
571
|
+
## 0.17.7
|
|
572
|
+
|
|
573
|
+
* stepIgnoreAll(t) function to ignore all functions in table
|
|
574
|
+
* __DebugAdapter.print() supports `{...}` to fill varargs in string.
|
|
575
|
+
* escape 13 in breakpoints
|
|
576
|
+
* omit frame source for C functions in call stack
|
|
577
|
+
* break-on-exception in most events and improved entrypoint identification
|
|
578
|
+
* warn if mod registers probably-incomplete sets of events
|
|
579
|
+
* jump to location in stacktrace works
|
|
580
|
+
|
|
581
|
+
## 0.17.6
|
|
582
|
+
|
|
583
|
+
* correctly bracket strings ending in partial close brackets
|
|
584
|
+
* paged display of large array-like objects
|
|
585
|
+
* escape 26 in breakpoints
|
|
586
|
+
* disable profiler and coverage when enabling debugadapter
|
|
587
|
+
* disable debugadapter mod on "Run Without Debugging"
|
|
588
|
+
* better display of custom commands and custom-input event handlers
|
|
589
|
+
* reorder scopes in Variables window to be generally innermost to outermost
|
|
590
|
+
* optimized remote.call hook
|
|
591
|
+
|
|
592
|
+
## 0.17.5
|
|
593
|
+
|
|
594
|
+
* mark various internals as stepIgnore
|
|
595
|
+
* binary format for breakpoints, divided up one file per command, to fit better in 250 char limit of debug.debug()
|
|
596
|
+
* more consistently update breakpoints before resuming execution
|
|
597
|
+
|
|
598
|
+
## 0.17.4
|
|
599
|
+
|
|
600
|
+
* include for loop internals in `<temporaries>` section
|
|
601
|
+
* bring my own json to remove many dependencies on `game` object
|
|
602
|
+
* optimizations
|
|
603
|
+
* name `(main chunk)` in stack traces
|
|
604
|
+
* set breakpoints earlier (still can't attach before `game` is available though)
|
|
605
|
+
* varargs sorted into special child of Local scope, after fixed args
|
|
606
|
+
* automatically install and enable/disable mod
|
|
607
|
+
* works if `require`d into data or settings stage
|
|
608
|
+
* accumulate stderr until newline, then strip debug prompts and return non-empty strings
|
|
609
|
+
* better handling of paths
|
|
610
|
+
* "Factorio Mod Debug" output channel listing various info about what paths it found
|
|
611
|
+
* detect `mod-list.json` inside workspace and use its location as modsPath
|
|
612
|
+
|
|
613
|
+
## 0.17.3
|
|
614
|
+
|
|
615
|
+
* don't remove leading '/' from workspace paths on non-windows
|
|
616
|
+
* better path guess on mac
|
|
617
|
+
* don't try to instrument remote.call during on_load
|
|
618
|
+
|
|
619
|
+
## 0.17.2
|
|
620
|
+
|
|
621
|
+
* more improved escaping
|
|
622
|
+
* search for mods inside vscode workspace first, then modsPath
|
|
623
|
+
* top level scope for factorio `global`
|
|
624
|
+
* filter temporaries to special child of Local scope
|
|
625
|
+
* filter "built in" globals to special child of Global scope
|
|
626
|
+
* fix display of eval _ENV
|
|
627
|
+
* unquote string keys when possible in table describe
|
|
628
|
+
|
|
629
|
+
## 0.17.1
|
|
630
|
+
|
|
631
|
+
* docs improvements
|
|
632
|
+
* tail calls in stack trace
|
|
633
|
+
* provide escapes `{[}` -> `{` and `{]}` -> `}` in interpolated strings
|
|
634
|
+
* support condition and hitCondition in breakpoints
|
|
635
|
+
* improved escaping of various strings
|
|
636
|
+
* don't allow setting `self` (the current object) inside string interpolation for debug lineitems
|
|
637
|
+
* describe main chunk functions
|
|
638
|
+
* mask dostring full-source chunk names as "=(dostring)"
|
|
639
|
+
* omit numeric keys when possible in table describe
|
|
640
|
+
* add `__DebugAdapter.dumpBreakpoints` to manually list breapoints
|
|
641
|
+
|
|
642
|
+
## 0.17.0
|
|
643
|
+
|
|
644
|
+
* Initial Release
|
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) justarandomgeek, Jan Mischak, Nexela
|
|
2
|
+
based on `Mock Debug` Copyright (c) Microsoft Corporation
|
|
3
|
+
|
|
4
|
+
MIT License
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|