Saturday, May 8, 2010

Goto Line added to CodeAssistor

Hmmm... so thats why you do requirements analysis, because if you dont, you forget an important feature (like find... or like line-goto).

Im lucky this time. I was able to "tack on" Finding and line-goto w/o much hassle (its a homework task for my readers to see if my design could have been better if I had remembered these tasks).

Anyways. CodeAssistor now has the ability to Goto lines (CMD-G). interestingly I had to add an "owner" property to the upstream ScintillaView class. I had to add this so that Scintilla notifications would be percolated all the way up to the NSDocument (or NSObject if a Single document model is used) that controls the ScintillaView. I did this so that I could hide the Finder/Goto TextEdits when the ScintillaView regains focus.

Because of this change, revision 66 (and onwards) of CodeAssistor now _requires_ my mullinpatches (lp:~masmullin/scintilla-cocoa/mullinpatches) and will no longer compile against vanilla Scintilla-Cocoa. Previous to this, Vanilla Scintilla-Cocoa could have makefiles hacked up (my mullinpatches has some changes to the vanilla makefiles-which I supplied in the first place anyway) and work properly with CodeAssistor, Although I've fixed a few bugs in Scintilla-Cocoa that MikeLischke hasn't integrated yet, so you would want to use mullinpatches anyways.

The amount of divergence mullinpatches is from vanilla Scintilla-Cocoa is starting to worry me. Right now, I think it's still possible to do a pretty clean merge of mullinpatches onto vanilla since vanilla is static, but if other developers start fixing bugs on vanilla Im going to have an additional chore of updating my mullinpatches.

Not only that, but Im concerned that Scintilla-Cocoa isn't integrating changes from the main Scintilla code stored on sourceforge (eg there was some changes done by Neil Hodgson to the main Scintilla code just 3 days ago... these havn't made it into Scintilla-Cocoa).

Looks like Im going to have to get myself a good visual diff tool (gah, I dont really wanna fork over the cash for Araxis, but it's the supreme tool for this purpose).

No comments: