It's 4 am and the new release is finally out. I'll just summarize the new features and updates here and update the "Features" tab tomorrow since I really feel like I ought to be in bed now ;-)
Features:
- Support for MADS and XASM directives is complete now. The definitions of folding and outline sections are now based on a descriptive configuration which can be easily adapted. This will make is quite easy to add additional platforms and compiler in the future with reasonable effort. The remaining coding for the parsing of MADS source for example is now down to 16 (!) lines.
- Every type of section now has an own type icon in the content outline and the content outline now also recursively parses source include files on the fly. This allows the drill down into include files without even opening them. It is also the basis for the planned future features macro syntax highlighting and forward navigation. In the toolbar of the content outline, there is a toggle button for sorting the sections and labels. The state of the button is persisted automatically along with the respective source file. For files which do not have a setting yet, the setting from the currently opened file will be used.
- The content outline folding and positioning now remains stable as you type. For example if you introduce a new label in a local section which is open, the tree will insert that label in the correct position and will keep the opened sections 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 front automatically when the compiler is started. This prevents the compiler output from being hidden behind other consoles in the console view.
- Single line comment 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 and thereby forces the file to be opened with the hex editor. In addition the hex editor is set as the default editor this one file. As a consequence double clicking the file in the package explorer will open it automatically with the hex editor, no matter which type of file is actually is. This saves you from always using the context menu, just because the file has no known file type. You can change the default editor again by just using the "Open With" context menu entry.
- The new graphics plugin is included as 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 conversion from an image to files is no 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 size 1024 and 2048 are assumed to be fonts. Files of size 7680 or 7684 bytes are assumed to be MicroPainter pictures. I even hacked in a 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 really like to say thanks a lot to FOX for the tips and the example files.
Fixes:
- The "Assembler" menu is visible now only if an Assembler editor is active. The contained entries and their short cuts are disabled if no Assembler editor is active.
- The output file is not deleted anymore before the compiler is started, instead it is only checked for being writeable. This allows for direct compilation into an existing ATR image.
- The name of the application used to open the output file is now included in the info message.