[squeak-dev] Proof-of-concept: moving Smalltalk code editing support into SmalltalkEditor
digit at sonic.net
Sat Mar 24 19:04:02 UTC 2018
I went on a journey this morning which could have been quixotic, but I
believe I actually found and slayed a small windmill.
I was a bit annoyed by how autoEnclose (and by extension autoIndent)
were in effect for even the most basic of TextMorphs, e.g. those dragged
out of the Supplies flap. I was also kind of disappointed that turning
on/off the auto-enclose preference affected all text morphs, even those
not specifically designated for Smalltalk code editing. I was
emboldened when I saw the class comment for TextEditor: "[I] have no
specific facilities for editing Smalltalk code. Those are found in
I found myself able to address this by making a few changes:
* moving autoEnclose and autoIndent functionality out of TextEditor and
* changing the default editor class for TextMorph to TextEditor
* specifying that the #editorClass for TextMorphForEditView should be a
* changing PreferenceWizard to recognize these preferences have a new
I'm attaching a changeset to this email and not uploading an .mcz to
inbox (sorry). This is because I don't know how to represent changes
across many projects in Monticello, and I sort of consider this a
proof-of-concept rather than something I think warrants immediate
inclusion in the image.
Please do let me know what you think about this idea.
I also fear my implementation of
SmalltalkEditor>>#dispatchOnKeyboardEvent: might be lacking.
ps - I think a next step of moving Smalltalk editing support into
SmalltalkEditor might be to move the call to
ToolSet>>#codeCompletionAround:textMorph:keyStroke: out of
TextMorph>>#keyStroke: and into its subclass, in
TextMorphForEditView>>#keyStroke:. I didn't complete that move and did
not quite figure out how the subclass version of that method works.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the Squeak-dev