It's 4 a.m., and the new release is finally out. I'll summarize the new features and updates here and update the "Features" tab tomorrow since I feel like I ought to be in bed now ;-)
- Support for MADS and XASM directives is complete now. The definitions of folding and outline sections are now based on a descriptive configuration that can be easily adapted. This will make adding additional platforms and compilers relatively easy with reasonable effort. For example, the remaining coding for the parsing MADS source code is now down to 16 (!) lines.
- Every type of section now has its type icon in the content outline, and the content outline now also recursively parses included source code files on the fly. This allows you to drill down into files without even opening them. It is also the basis for future features, macro syntax highlighting, and forward navigation. The toolbar of the content outline has a toggle button for sorting the sections and labels. The state of the button is persisted automatically along with the respective source file. The setting from the currently opened file will be used for files that do not have a setting yet.
- The content outline folding and positioning now remain stable as you type. For example, if you introduce a new label in an open local section, the tree will insert that label in the correct position and keep the opened branches as they are.
- The restriction that opcodes or directives must not start in the first column no longer applies.
- The console for the compiler now has a localized title, "Compiler Console," and is brought to the front automatically when the compiler is started. This prevents the compiler output from being hidden behind other consoles in the console view.
- Single-line comments for the current line selection can be toggled using "CTRL-7" or the context menu entry "Toggle Comments".
- The "Open With Hex Editor" menu entry now closes an existing editor in case the file is already opened, forcing the file to be opened with the hex editor. In addition, the hex editor is set as the default editor for this one file. Consequently, double-clicking the file in the package explorer will open it automatically with the hex editor, no matter which file type. This saves you from always using the context menu just because the file has no known file type. Using the "Open With" context menu entry, you can change the default editor again.
- The new graphics plugin is included as an alpha version. You can open the "Graphics Editor" via the context menu entry "Open with Graphics Editor," just as for the hex editor. Saving images and converting from an image to files is not supported yet. The editor will try to default to a suitable converter based on the file size, file name, and content. For example, files of sizes 1024 and 2048 are assumed to be fonts. Files of size 7680 or 7684 bytes are considered to be MicroPainter pictures. I even hacked support for opening compressed MicroPainter images based on the source of the excellent "FAIL (First Atari Image Library)" tool by FOX and his friends. Note that it works only for opening by now, not for conversion. I like to say thanks a lot to FOX for the tips and the example files.
- The "Assembler" menu is visible now only if an Assembler editor is active. The contained entries and shortcuts are disabled if no Assembler editor is active.
- The output file is not deleted before the compiler is started. Instead, it is only checked for being writeable. This allows for direct compilation into an existing ATR image.
- The application name used to open the output file is now included in the info message.