[Coco] Rainbow IDE 2.0 progress
Roger Taylor
operator at coco3.com
Wed May 30 14:59:29 EDT 2007
Fellow coders,
I try to keep you updated here since I receive so many requests and
reports about the IDE. I have made major internal improvements to
the IDE and have added new features that may or may not be noticed by
the naked eye. :)
One thing I've been doing is compressing the code where I had done
quick spagetti coding and duplicate chunks of code. Last night I
reduced a great deal of repeated code like for creating all of the
window classes the IDE uses. Now all of the classes are defined in a
small data section and one routine scans the table until there's no
more classes, and creates them flawlessly the same. This will let me
add new classes (such as editor types, readout windows, etc.) very
quickly without adding much support code at all.
What I'd like to do now is add syntax highlighting to each
assembler's (actually, builder's) .ini file, as well as for/next
if/endif section collapsers/expanders. This feature is already in
the editor window's DLL files, but have not been set up yet when
those editors are initialized.
Environment variables required by some compilers/assemblers/linkers
will be possible by putting them in the builder's .ini file (will be
settable from the IDE), and TASM is the first assembler that proves
to work well by doing this since it requires the TASMTABS environment
variable or it won't find the external CPU definitions.
A nasty bug was fixed that was causing the readout window to
overwrite some of the global options retrieved from the left side
panel during the build process that loops through all of the
files. In other words, if the last file in the project was a
component (which it almost always is), and you click Build, the
readout window is opened if not already opened, which is always
marked as not a component, and that global flag was later checked for
the "current" source code file before the readout window was opened,
and it was sometimes skipped because it wasn't seen as a
component. Now the readout window class procedure doesn't even read
the left sidebar or update it. I'm also going to probably grey out
the sidebar when the readout window is selected since you can easily
forget that you're not really controlling a source code file if you
change one of the sidebar options. Currently you can change those
options while the readout window is in focus, and it's just wasting
your time. Even though the readout window can store options from the
left sidebar, they aren't used. Plus, I do this all the time
thinking I was changing an option for a source code file that's no
longer in focus. :(
Small things like this that may irk us are being dealt with at the
same time I'm improving the code, fixing larger bugs, and adding new
features. I'm also going through many feedback messages I've gotten
over the last year or so and acting on the ones I can. If you've
requested a feature at any time it may very well be added to Rainbow
2.0. I hope to release a beta test copy in 3 to 4 weeks.
--
Roger Taylor
More information about the Coco
mailing list