- 'Branch too far' errors could trigger based on label positions in previous passes.
Unknown identifier
errors were emitted too often. (#211)
- When setting breakpoints, the breakpoint should be set at the location the code is ultimately designed to go to. Usually this is the same as the location it is emitted, but this is not the case for code that is designed to be moved to another location. (#206)
- A unexpected closing brace would break parsing of the rest of the file.(#205)
- The
mos.path
property may now be quoted, easing use on Windows. (#204)
- When launching the debugger no files have to be open in the editor. (#203)
- Trying to invoke an undefined macro correctly did not report the macro as undefined (#195)
- "Banks" can be used to control how the final binary is laid out (e.g. to create cartridge files)
- Strings can be used as symbols, with support for string interpolation and concatenation
- Error formatting is improved and made configurable through the
--error-style
option - A listing file can be generated for every segment by specifying
listing = true
in the[build]
section ofmos.toml
- Instead of just generating a Commodore-compatible
.prg
file, it is now also possible to generate a raw binary or a raw binary per segment
- Nested macros are now looked up correctly (#168)
- Symbol resolution doesn't return incorrect symbols when lookups fail halfway through
- Error reporting shows correct paths on Windows now, instead of UNC paths (#192)
- Files imported from subdirectories are resolved in a platform-independent way (i.e. forward or backslashes may be used)
- Uninvoked macros and untaken if/else paths now get proper refactoring support (#180)
- When attempting to debug with an unsupported version of VICE a proper error message is created (#186)
- Syntax grammar files were not packaged in the VSCode extension (#185)
For a full list of changes please refer to the 0.7.0 milestone on GitHub.
- Support for writing unit tests
- Support for running unit tests in an emulated 6502
- Support for running and debugging unit tests from within Visual Studio Code
- Symbols may be annotated with markdown comments, which will show on hover
- Various scoping issues have been resolved
- Support for debugging in Visual Studio Code (via the Debug Adapter protocol)
- Formatting now works with label/code/comment columns
- Can now use - and + to refer to start and end of scopes
- Visual Studio Code: Now provides a 'build' task and associated problem matcher
- Fixed a number of edge cases related to code completion
- Code completion doesn't seem to work inside a (segment) block
- Fix forward references to other segments
- Fix infinite loop with label before end of block
- Formatting: No empty lines after a non-block label
- Formatting: Empty line after a block
- C/C++-style comments are not highlighted nicely
- LSP not shutting down correctly
- Error output is not sorted by line/file
- Formatting now works correctly for projects containing multiple files
- Linux version now shows correct version information
- Support for macros
- Support for loops
- Can now use
-
and+
to refer to start and end of scopes - Visual Studio Code: Now provides a 'build' task and associated problem matcher
- Rewrote code generation to be both simpler and more accurate
- The
no-color
parameter now works as expected
- Project configuration file is now required in lieu of command-line arguments
- Language Server support
First public alpha release!