All notable changes to the "rgbds-z80" extension will be documented in this file.
- Support for the
endsection
keyword. - Support for the
incharmap
function. - Support for completions when writing multiple instructions per line via
::
. - Support for
#"raw strings"
. - Support for the
#
and@
characters in symbol names.
- rb/rw/rl definition expressions that omit values are now recognized for completions and documentation.
Thanks to sukus21 for the improvements in this release!
- Offset constants (declared with
rb
,rw
andrl
) would not get documented. - Include paths on windows now convert all backslashes to forward slashes, not just the first one.
Thanks to sukus21 for the improvements in this release!
- Suggested included files will now use forward slash as directory separator on Windows.
- The ability to jump to included files by ctrl+clicking the include statement.
- Support for colon-less label declarations.
- Invoking a macro would mistakingly be seen as re-declaring it.
- Support for indented documentation.
- Support for indented macro definitions.
- Support for the
fmod
function. - Support for precise fixed-point literals (e.g. 12.34q8).
- Support for the
fatal
,assert
, andstatic_assert
assertion keywords. - Support for the
for
andbreak
repeat block keywords. - Support for the
div
math function. - Support for the
charlen
andcharsub
string functions. - Support for the
sizeof
andstartof
section functions. - Support for underscores in number literals.
- Improved hover recognition of number literals.
- Instances of "set" contained as part of other words are no longer impacted by the
"language.keyword.preprocessor"
rule.
- Support for the
print
,println
, andredef
keywords. - Support for the
ceil
,floor
,log
,pow
,round
,strfmt
,strrin
, andstrrpl
functions. - Support for the new macro definition syntax.
- Support for the new def constant syntax.
- Support for indented global labels.
- When every line of a doc comment shares a common prefix (like "--" in hardware.inc), the prefix will now be clipped out of the documentation view.
- Support for C-style block comments.
- Auto-indentation support for labels.
- Improved bracket matching and auto-completion support.
- Now disables "editor.wordBasedSuggestions" by default when
gbz80
handles a document to better match only relevant content within the file.
- Modernized problem matchers for the current version of RGBDS. (Thanks, jendrikw!)
- Added support for new keywords. (Thanks, jendrikw and Rangi42!)
- Spaces are no longer allowed as part of a label where only a period was supposed to be supported. 😬
- Local labels are now shown in intellisense prompts, appropriately limited to the current scope.
- Some ways of writing local labels will no longer cause similar global labels to fail to export.
- The completion proposer should no longer sometimes fail to include newlines between some items in the "flags changed" section.
- Setting the new configuration option
rgbdsz80.showInstructionCompletionSuggestions
tofalse
will suppress completion suggestions for instructions.
- The extension will now activate for files with an extension of
.sm83
.
- The parsing grammar now correctly identifies lines that begin with an asterisk as a comment.
- A new problem matcher named
rgbdslinkerror
, which can catch several additional types of errors. Both it andrgbdserror
must be included in a problem matcher configuration to be used. - New instruction completions for
ld [c], a
andld a, [c]
.
- The completion snippets for macros and repeat blocks now respect capitalization preferences.
- Setting the new configuration option
rgbdsz80.includeAllDocCommentNewlines
totrue
will force a newline between all doc comment lines in the formatted Markdown.
- Comments that begin with @ will now only have a single newline preceding them instead of two in the formatted Markdown.
- Register capitalization formatting is now correctly reflected in intellisense prompts.
- Two spaces at the end of a doc comment line should now correctly force a newline in the formatted Markdown.
- Capitalization Formatting support.
- Intellisense support for project files in include statements.
- All keywords, registers, and condition codes are now present in intellisense prompts.
- Intellisense prompts are now populated based on some basic context information to reduce invalid options.
- The problem matcher has been improved but not fixed. It does a better job of reporting certain errors, but there are some where it won't underline the error in context.
- Refined the syntax highlighting grammer. Some parts of the language were reclassified, so you may see some color changes with your theme.
- Documentation comment lines that begin with
@
now receive a leading newline.
- Support for searching for include files via
rgbdsz80.includePath
configuration variable.
acos
,asin
,atan
,atan2
,charmap
,cos
,def
,div
,high
,low
,mul
,sin
,strcat
,strcmp
,strin
,strlen
,strlwr
,strsub
,strupr
, andtan
are now recognized as keywords.
- Files with an extension of
.s
are now recognized by the extension.
- Added the ability to see all symbol declarations within a file (
Cmd+Shift+O
orCtrl+Shift+O
) or the entire workspace (Cmd+T
orCtrl+T
).
rom0
,romx
,vram
,sram
,wram0
,wramx
,oam
,hram
,bank
, andalign
are now recognized as keywords.
- Fixed highlighting
repeat
instead ofrept
.
- Removed some false positive cases that could result in out-of-scope symbol declarations appearing in Intellisense.
- Added a snippet for repeat blocks.
- Added support for additional instruction aliases in Intellisense.
- Improved Intellisense support for instructions.
- Symbol seeking for Intellisense has been made more inclusive. Now grabs symbols from files that include the working file.
- The symbol extractor no longer extracts RGBDS keywords as symbols.
- Declarations using
equ
,set
,equs
now have their expression included in their doc comment.
- Initial release