[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