zilf issueshttps://foss.heptapod.net/groups/zilf/-/issues2020-09-14T04:55:16Zhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/24[VZP-24] OOM when opening folder with thousands of files2020-09-14T04:55:16ZTara McGrew[VZP-24] OOM when opening folder with thousands of filesOpening a folder with thousands of files in it leads to console warnings about event listener leaks, followed by the extension host process crashing when it fails to allocate memory.
---
**Issue metadata**
- Issue type: Bug
- Priority...Opening a folder with thousands of files in it leads to console warnings about event listener leaks, followed by the extension host process crashing when it fails to allocate memory.
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/25[VZP-25] Bracket highlighting doesn't work?2020-09-14T04:55:16ZTara McGrew[VZP-25] Bracket highlighting doesn't work?Brackets aren't highlighted when moving the cursor. The console shows errors coming from a cursor event handler.
---
**Issue metadata**
- Issue type: Bug
- Priority: MediumBrackets aren't highlighted when moving the cursor. The console shows errors coming from a cursor event handler.
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/23[VZP-23] Syntax highlighter forgets how to rainbow2020-09-14T05:02:11ZTara McGrew[VZP-23] Syntax highlighter forgets how to rainbowThe VSCode ZIL highlighter seems at times to not feel like highlighting very hard. Rainbow nesting doesn't work, or doesn't work very well.
Restarting VSCode can nudge the highlighter back into action. I have not noticed any rhyme or re...The VSCode ZIL highlighter seems at times to not feel like highlighting very hard. Rainbow nesting doesn't work, or doesn't work very well.
Restarting VSCode can nudge the highlighter back into action. I have not noticed any rhyme or reason to this. I've had one VSCode window where the highlighter worked as normal running simultaneously with another VSCode window where it didn't.
Example: before a restart, all of the <> and () in the attached image were showing up white.
!Screen Shot 2019-08-17 at 4.06.55 PM.png|width=200,height=183!
VSCode particulars:
Version: 1.37.1
Commit: f06011ac164ae4dc8e753a3fe7f9549844d15e35
Date: 2019-08-15T16:16:34.800Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 16.7.0
---
**Issue metadata**
- Issue type: Bug
- Priority: Lowhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/22[VZP-22] Memory inspector for debugging2020-09-14T04:55:15ZTara McGrew[VZP-22] Memory inspector for debuggingWhen a variable contains an address, we should be able to show some interpretation of it, not just the number.
* Packed string address (show the string)
* Vocab word address (show the word and extra data)
* Packed routine address (show ...When a variable contains an address, we should be able to show some interpretation of it, not just the number.
* Packed string address (show the string)
* Vocab word address (show the word and extra data)
* Packed routine address (show the routine name)
* Table address or internal pointer (show the table name and offset)
* Property data address (show the object and property)
For table pointers, we should also have a way to inspect the contents of the table, ideally informed by the table format:
* Byte table
* Word table
* LEXV table
* Custom pattern defined with TABLE
* Custom pattern defined with DEFSTRUCT
---
**Issue metadata**
- Issue type: New Feature
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/20[VZP-20] VSCode extension has no icon2020-09-14T04:55:15ZTara McGrew[VZP-20] VSCode extension has no icon
---
**Issue metadata**
- Issue type: Bug
- Priority: Medium
- Fix versions: 0.2.6
---
**Issue metadata**
- Issue type: Bug
- Priority: Medium
- Fix versions: 0.2.6https://foss.heptapod.net/zilf/vscode-zil-language/-/issues/21[VZP-21] Debugger doesn't work on Mac OS X2020-09-14T04:55:15ZTara McGrew[VZP-21] Debugger doesn't work on Mac OS Xhttps://www.facebook.com/groups/ZILcom/permalink/841804276261304/ reports "cannot execute binary file" when running ConsoleZLR.exe. OS X doesn't have Linux's binfmt system, so we need to run the .exe with {{mono}} (or eventually {{dotnet...https://www.facebook.com/groups/ZILcom/permalink/841804276261304/ reports "cannot execute binary file" when running ConsoleZLR.exe. OS X doesn't have Linux's binfmt system, so we need to run the .exe with {{mono}} (or eventually {{dotnet}}).
---
**Issue metadata**
- Issue type: Bug
- Priority: Medium
- Fix versions: 0.2.6https://foss.heptapod.net/zilf/vscode-zil-language/-/issues/17[VZP-17] Suggest TELL token completions in calls to TELL2020-09-14T04:54:48ZTara McGrew[VZP-17] Suggest TELL token completions in calls to TELL
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/18[VZP-18] Use consistent definition/call syntax in symbol hovers2020-09-14T04:54:48ZTara McGrew[VZP-18] Use consistent definition/call syntax in symbol hovers
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/16[VZP-16] Suggest action name completions in VERB?, syntax lines, etc.2020-09-14T04:54:48ZTara McGrew[VZP-16] Suggest action name completions in VERB?, syntax lines, etc.
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/19[VZP-19] Filter out non-constant completions in constant and property definit...2020-09-14T04:54:48ZTara McGrew[VZP-19] Filter out non-constant completions in constant and property definitions
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/11[VZP-11] Don't aggressively complete symbol names at source locations that na...2020-09-14T04:54:48ZTara McGrew[VZP-11] Don't aggressively complete symbol names at source locations that name a new symbole.g. after typing {{<OBJECT _}}, don't try to suggest existing names, since the user is naming a new object. The only suggestions that could make sense there would be objects (or other global symbols) that are referenced but not defined....e.g. after typing {{<OBJECT _}}, don't try to suggest existing names, since the user is naming a new object. The only suggestions that could make sense there would be objects (or other global symbols) that are referenced but not defined.
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
- Fix versions: 0.2.6https://foss.heptapod.net/zilf/vscode-zil-language/-/issues/15[VZP-15] Suggest object name completions in exit properties, LOC/IN pseudopro...2020-09-14T04:54:48ZTara McGrew[VZP-15] Suggest object name completions in exit properties, LOC/IN pseudoproperties, MOVE/IN?, etc.
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/14[VZP-14] Suggest flag name completions in syntax lines, FSET?, etc.2020-09-14T04:54:48ZTara McGrew[VZP-14] Suggest flag name completions in syntax lines, FSET?, etc.
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/13[VZP-13] Suggest property name completions in GETP, PUTP, etc.2020-09-14T04:54:48ZTara McGrew[VZP-13] Suggest property name completions in GETP, PUTP, etc.
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/12[VZP-12] Suggest appropriate variable name completions in SET, SETG, ASSIGNED...2020-09-14T04:54:48ZTara McGrew[VZP-12] Suggest appropriate variable name completions in SET, SETG, ASSIGNED?, etc.
---
**Issue metadata**
- Issue type: Improvement
- Priority: Medium
---
**Issue metadata**
- Issue type: Improvement
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/9[VZP-9] Port language and debug features to C# and integrate with compiler an...2020-09-14T04:55:15ZTara McGrew[VZP-9] Port language and debug features to C# and integrate with compiler and interpreterzil-language currently implements major functionality in TypeScript. We could avoid redundant effort, make the editor experience more consistent with how ZILF actually works, and ease development by implementing them in C# instead.
* [C...zil-language currently implements major functionality in TypeScript. We could avoid redundant effort, make the editor experience more consistent with how ZILF actually works, and ease development by implementing them in C# instead.
* [Creating a language server using .NET](https://martinbjorkstrom.com/posts/2018-11-29-creating-a-language-server)
* [SDKs for the DAP](https://microsoft.github.io/debug-adapter-protocol/implementors/sdks/)
# IntelliSense
The extension currently uses its own lexer, AST, etc. to understand ZIL code, running inside the vscode extension host. To provide assistance with built-in functions, it relies on data exported by ZILF.
We could move this to a LSP implementation that uses the existing functionality in ZILF instead. Without evaluating any MDL code or compiling the project, we could:
* Use ZILF's parser (with `%`-macros neutered) to detect syntax errors and build a document AST
* Use AST-based scanning to provide a passable subset of document/project symbols
* Use AST-based scanning to identify call site context
* Provide signatures based on actual SUBR and ZBuiltin definitions
If we don't mind invoking ZILF's interpreter and compiler, we could also:
* Provide full diagnostics while editing
* Provide expansions when hovering over macro calls
* Use MDL and ZEnv context to provide a full, accurate set of document/project symbols
* Show the generated ZAP code for a routine
* Link to included library files
If we don't mind invoking ZAPF too, we could also:
* Generate abbreviations in the background
# Z-machine debugger
The extension currently uses a Node-based adapter, essentially wrapping ZLR's command-line debugger with a simple network protocol.
If we implemented the Debug Adapter Protocol in C# and integrated with ZLR, we could:
* Simplify the communication between the extension and the interpreter
If we also integrated the debug adapter with the ZILF language service above, we could:
* Evaluate full ZIL expressions for watches, hovers, and the debug console
* Provide completions for expression entry
* Use PROPSPECs to format property values (e.g. make exit properties readable)
* Use knowledge of the compiler output to format values in general (e.g. detecting string and routine addresses)
* Provide an accurate set of scopes
* Show the source code after macro expansion instead of attributing the expanded code to the MDL code that expanded it
* Support live routine editing:
* ZILF verifies that the change won't invalidate the RAM state and generates ZAP code for the routine
* We append the new code to the original ZAP output and assemble new Z-code for the routine
* ZLR installs the new Z-code in ROM, patches the original routines to jump to it, and updates the instruction pointer
# MDL debugger
There's currently no support for MDL (compile-time) debugging.
If we implemented the Debug Adapter Protocol in C# and integrated with ZILF, we could support that, although it'd take some restructuring to make the interpreter steppable.
---
**Issue metadata**
- Issue type: Epic
- Priority: Medium
- Fix versions: 0.3.0https://foss.heptapod.net/zilf/vscode-zil-language/-/issues/7[VZP-7] Remove bracket coloring and recommend another extension for it2020-09-14T05:02:12ZTara McGrew[VZP-7] Remove bracket coloring and recommend another extension for itThere's a popular marketplace extension that does bracket coloring, but it only supports Prism.js languages: https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer
The upcoming version of it uses the VSCode...There's a popular marketplace extension that does bracket coloring, but it only supports Prism.js languages: https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer
The upcoming version of it uses the VSCode language services instead: https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer2
But it doesn't work with angle brackets yet: https://github.com/CoenraadS/Bracket-Pair-Colorizer-2/issues/53
---
**Issue metadata**
- Issue type: Improvement
- Priority: Lowhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/6[VZP-6] Improve IntelliSense completions and popup displays2020-09-14T04:44:37ZTara McGrew[VZP-6] Improve IntelliSense completions and popup displaysCurrently, there are many times when the IntelliSense data that pops up in the editor while writing ZIL code is more of a distraction than an assistant.
Sometimes it infers the wrong ZIL/MDL language context, and it suggests SUBR names ...Currently, there are many times when the IntelliSense data that pops up in the editor while writing ZIL code is more of a distraction than an assistant.
Sometimes it infers the wrong ZIL/MDL language context, and it suggests SUBR names inside a macro definition where a ZBuiltin name would be more appropriate. Sometimes it suggests the names of existing code entities while you're trying to name a new entity. VSCode aggressively completes these, so if you don't hit Escape in time, it will mangle the code you're writing.
The syntax used in popup definition snippets is inconsistent across entity types (ROUTINE vs. SUBR): do we want to show the definition or a sample call? What good are the lines like "Evaluated: No", and are they even accurate? Can we customize the argument names to clarify cases where multiple opcodes are implemented by the same ZBuiltin?
When the language service knows it lacks the context to suggest valid completions at a given position, can we return the completion list but make the editor less aggressive that one time?
---
**Children**
- #11
- #12
- #13
- #14
- #15
- #16
- #17
- #18
- #19
- ZILF-164
- ZILF-189
---
**Issue metadata**
- Issue type: Epic
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/5[VZP-5] Add a "new project" template or generator2019-04-01T01:21:11ZTara McGrew[VZP-5] Add a "new project" template or generator
---
**Issue metadata**
- Issue type: New Feature
- Priority: Medium
---
**Issue metadata**
- Issue type: New Feature
- Priority: Mediumhttps://foss.heptapod.net/zilf/vscode-zil-language/-/issues/4[VZP-4] Packaged ZLR binaries are missing the execute bit2020-09-14T05:03:44ZTara McGrew[VZP-4] Packaged ZLR binaries are missing the execute bitThe extension can't start the debug engine unless you manually {{chmod +x ConsoleZLR.exe}}.
It should probably be smart enough to do that itself.
---
**Issue metadata**
- Issue type: Bug
- Priority: High
- Fix versions: 0.2.6The extension can't start the debug engine unless you manually {{chmod +x ConsoleZLR.exe}}.
It should probably be smart enough to do that itself.
---
**Issue metadata**
- Issue type: Bug
- Priority: High
- Fix versions: 0.2.6