All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix a regression with hover formatting
- Unreferenced label warning can be suppressed with underscore prefix
(universal version will skip this update)
- Fix an issue with error checking of macro arguments
Go to referenceson an ENT will find the corresponding EXT labels- Hovering on an ENT label will show all the modules where it is used
(universal version will skip this update)
- Unreferenced label warnings with accompanying fine grained settings
- Disk image server handles tracks generated by MAME (flux tracks)
- The macro argument count
]0is better handled (Merlin 16 and above)
- Docstring is shown when hovering on a macro reference
- Conditionals are handled more efficiently and accurately
- Macro expansions resolve
IFandDOin many cases - Unused macro definitions are identified
- Deferred evaluations in a macro definition are identified
- Duplicate labels in a macro are allowed, but a warning is given at
EOM - Conditional macro definitions are handled differently
- they are always discouraged by a warning, see the a2kit::lang::merlin docstring
- Update bundled language server to version 3.5.1
- fixes label substitution errors in disassembly
(universal version will skip this patch)
- Fix some issues in disassembly workflows
- Disassembly: data sections can be converted back to code
- Guard against excessive workspace scans
- maximum directory count and recursion depth
- passes over
build,node_modules, andtargetdirectories
- Repair lower case completions logic, takes effect if:
completions.lowerCase==true && flag.caseSensitive=="ignore"
Replace bundled darwin-arm64 server with the correct version.
This patch will be skipped over by all other platforms.
- Hovering on an EXT label shows the ENT label's docstring
Go to...commands behave more correctly- Using
Go to declarationson a reference to an EXT goes to the EXT - Using
Go to definitionson a reference to an EXT goes to the ENT - Using
Go to...from any node is valid, e.g., if we start on a definition and ask for definitions the references are returned. This is the usual VS Code behavior.
- Using
Rename Symbolfinds primary workspace symbols- Additional workspace checks
- Searching for workspace symbols (ENT labels)
- Correct a bug in rename symbol (still scoped to doc + includes, however)
- Correct a bug in address hovers
- Formatting preserves blank lines
- Language server is native rust code
- Expanded language diagnostics
- conditional assembly and folds are handled
- better handling of 16 bit syntax
- checks illegal forward references
- others
- Disk image support is bundled, no need for external
a2kitinstallation - Better disassembly, finds various data patterns, user can set MX
- Spot assembler to convert code sections to data sections as part of disassembly effort
- Includes with the same name are resolved by partially matching ProDOS and local paths
- Platform support works differently
- Out of the box support for Linux-x64, Mac-x64, Mac-aarch64, and Windows-x64, everything needed is bundled.
- Universal version requires an external
a2kitinstallation, not only for disk images, but for all services.
- Include file search works differently
- If the workspace contains two files with the same name, the best partial match to the ProDOS path is selected.
- If there are multiple equally good matches an error is flagged and the include is not analyzed.