Commit 9e9c9550 authored by Jesse McGrew's avatar Jesse McGrew
Browse files

Update metadata and docs for new release.

parent a904cbe016a8
# Change Log
All notable changes to the "zil-language" extension will be documented in this file.
Check [Keep a Changelog]( for recommendations on how to structure this file.
The format is based on [Keep a Changelog](
and this project adheres to [Semantic Versioning](
## 0.1.0
## 0.2.0 (March 19, 2018)
### Added
- A debug adapter for source-level debugging, based on ZLR.
- Signature help for builtin MDL/ZIL functions.
- Symbols for local variables, including activations.
- Symbols for parts of objects (properties, flags, vocab words).
### Changed
- Tweaked build tasks.
- Completions are sorted.
- Some duplicate symbols are hidden.
## 0.1.0 (January 17, 2018)
- Initial release
\ No newline at end of file
......@@ -15,13 +15,20 @@ This extension implements:
* Go to symbol (per file or per workspace)
* ZILF REPL terminal
* ZILF/ZAPF build tasks
* Source-level debugging
## Requirements
### ZILF
Some features require an installation of ZILF (the ZIL compiler).
To set this up, download the latest release from [Bitbucket]( (e.g. ``), and extract it somewhere. Navigate to the folder containing `zilf.exe` and `zapf.exe` when prompted by the extension, or set the `zil.compiler.path` and `zil.assembler.path` settings to point to those files.
### ZLR (optional)
Debugging requires an installation of ZLR, a [Z-machine]( interpreter.
## Extension Settings
This extension contributes the following settings, which can be customized per folder:
......@@ -30,6 +37,7 @@ This extension contributes the following settings, which can be customized per f
* `zil.mainFile`: the name of the main `.zil` file, or **null** to use the name of the folder with `.zil` added
* `zil.compiler.path`: path to `zilf.exe`
* `zil.assembler.path`: path to `zapf.exe`
* `zil.debugger.path`: path to `ConsoleZLR.exe` (optional)
* `zil.rainbowBrackets.enabled`: enable/disable the "rainbow brackets" feature
* `zil.rainbowBrackets.bracketColors`: list of colors to use for rainbow brackets
* `zil.rainbowBrackets.cycleBracketColors`: enable/disable repeating colors for very deep nesting levels
......@@ -9,8 +9,9 @@
- **(DONE)** Implement `predictableRandom` launch option
- **(DONE)** Allow external terminal
- **(DONE)** Rename debugger type to `zmachine`
- Fix bug where ZLR stays running after session terminates?
- **(DONE)** Use prepackaged ZLR binary
- **(DONE)** Fix bug where ZLR stays running after session terminates?
- **(DONE)** Work around ZILF bug that leaves duplicate ACTION_DBR entries in .dbg
### Build Tasks
......@@ -20,7 +21,6 @@
### IntelliSense
- **(DONE)** Use prepackaged builtin descriptions
- Progress bars?
......@@ -30,15 +30,27 @@
- Let user toggle breakpoints while game is running
- Disassembly view
- Step by instruction
- Set start/end position of variable scopes
- Friendlier eval expressions for variables (e.g. <GETP ,PLAYER ,P?LDESC> instead of <GETP 100 40>)
- Disable "more" prompt
- Edit & Continue (trap)
- Fix path mismatches (should be able to set breakpoints in library code and game code easily)
- Conditional/hitcount breakpoints
- Start ZLR from the extension instead of using `runInTerminal`?
- Debugger sends a custom event, extension creates the terminal and holds a reference
- The extension can focus the terminal while running, and kill it when the session ends
- Implement `noDebug` launch option
- Separate path setting? e.g. use Frotz for non-debug play
- Indicate debug state in window title, e.g. "advent.z3 (Running) - ZLR Debugger"
- Clearer indication when paused, esp. during input
- Stop cursor blinking? Show a message?
- Disable debugger break hotkey when using TCP debug console?
- Download ZLR binaries on first run instead of shipping with extension
### Build Tasks
- Add a task to generate and use abbreviations
- Add a task to (re)generate abbreviations
### Linter
......@@ -49,16 +61,19 @@
- Color all `FORM`s like calls
- Fix double bracket highlights
- Grammar for .zap/.xzap
- Tree view of objects
- Separate views for editing and debugging
- Formatter (trap?)
### IntelliSense
- Show docstrings from source
- Cache parsed symbols, signatures, etc. in global or workspace state (see vscode-cache package)
- Tree view of objects
- Separate views for editing and debugging
- HTML index of all symbols
- Progress bars?
## Not yet supported by vscode?
- <del>Implement remaining ZILF/ZAPF command-line options as task options</del>
- Implement remaining ZILF/ZAPF command-line options as task options
......@@ -2,7 +2,7 @@
"name": "zil-language",
"displayName": "ZIL",
"description": "Support for the ZIL language (and MDL/Muddle)",
"version": "0.1.0",
"version": "0.2.0",
"publisher": "zilf",
"repository": "bitbucket:jmcgrew/zil-editor-support",
"bugs": "",
......@@ -10,8 +10,17 @@
"vscode": "^1.19.0"
"categories": [
"keywords": [
"interactive fiction",
"game development"
"main": "./out/extension",
"scripts": {
"compile": "run-s compile:*",
......@@ -221,15 +230,6 @@
"description": "Path to the ZLR debug interpreter (e.g. consolezlr.exe)",
"default": null
"zil.debugger.args": {
"scope": "resource",
"type": "array",
"items": {
"type": "string"
"description": "Initial arguments to pass to ZLR",
"default": []
"zil.rainbowBrackets.enabled": {
"type": "boolean",
"default": true,
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment