Eliot Miranda-2 wrote
On Wed, Jun 1, 2016 at 3:47 AM, Bert Freudenberg <
bert@
> wrote:
The predominant style in Squeak historically has been
coll do: [:each | each do something]
Ken Beck uses that in his “Best Practice Patterns” too. It’s also produced by our formatter (but we rarely use that because it introduces weird line breaks).
I prefer this style because it seems to be most readable.
I agree with Chris about selectability, but I’d rather fix our double-click selection logic than make the code look weird. Double-clicking on “:foo” should only select “foo”.
+1000
- Bert -
On 31.05.2016, at 23:58, Chris Muller <
asqueaker@
> wrote:
By "everywhere" I assume you mean the ones just inside my brackets? When block arguments are written without a space between the colon and variable name, like this:
coll do: [:each|each do something]
then I can't simply double-click the "each" declaration and then use Cmd+g to find further occurrences, because double-clicking it also selects the colon.
So, I could write:
coll do: [: each|each do something]
but it looks strange to me.
But also for easier expression editing. With no space, it is harder to select the inner expression via double clicking just inside the opening bracket; because a space there affords the user more width to hit the expression than the narrow colon.
This effect can be verified on a computer with touch pad with **separate buttons** (e.g., able to double-click without moving the mouse even one pixel). 1) put a space there, 2) place mouse about halfway into width of the space. 3) Without touching touch pad, double-click to ensure expression is selected. 4) Now single-click to deselect expression. 5) Now press [Delete] to delete the space. 6) Without touching touch pad, again double-click in the exact same spot. The colon is selected instead of the expression.
On Tue, May 31, 2016 at 4:42 PM, Tobias Pape <
Das.Linux@
> wrote:
On 31.05.2016, at 21:26,
commits@.squeak
wrote:
Item was changed: ----- Method: PluggableTextMorphPlus>>drawBalloonTextOn: (in category
'drawing') -----
- drawBalloonTextOn: aCanvas
- drawBalloonTextOn: aCanvas "Show balloon text in the text morph if it has no contents."
textMorph contents ifNotEmpty: [ ^ self ].
([ self balloonText ]
on: Error
do: [ : err | 'error in balloonText' ]) ifNotNil:
[ : text | aCanvas
textMorph contents ifNotEmpty: [^ self].
self balloonText ifNotNil: [:text |
aCanvas drawString: text
in: (self innerBounds insetBy: (5 @ 2 corner: 0
@ 0))
font: textMorph textStyle defaultFont "I want
italic here"
color: (Color gray: 0.7) ]!
in: (self innerBounds insetBy: (5@2 corner: 0@0
))
font: textMorph textStyle defaultFont
color: (Color gray: 0.7)].!
Just curious, why are you adding spaces everywhere? :) Best regards -toibas
-- _,,,^..^,,,_ best, Eliot
You saw that code when I made infinite text undo working again. It is in Editor >> #selectWord and #selectWordLeftDelimiters:rightDelimiters:. You cannot just add $':' to the list of delimiters because that would complicate symbol selection. So, the steps would be look for more context whether you want to select "#open:with:" with clicks and also "each" from "...[ :each |..."
Best, Marcel
-- View this message in context: http://forum.world.st/Formatting-was-Re-squeak-dev-The-Trunk-ToolBuilder-Mor... Sent from the Squeak - Dev mailing list archive at Nabble.com.