The Trunk: Morphic-mt.1245.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-mt.1245.mcz

commits-2
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1245.mcz

==================== Summary ====================

Name: Morphic-mt.1245
Author: mt
Time: 8 August 2016, 6:12:08.223357 pm
UUID: 58e779e2-1663-cb42-9904-4edd8e1cfa80
Ancestors: Morphic-mt.1244

Another fix for query-symbol (thanks Levente!) to support cycling through *all* matches again.

=============== Diff against Morphic-mt.1244 ===============

Item was changed:
  ----- Method: TextEditor>>querySymbol: (in category 'typing/selecting keys') -----
  querySymbol: aKeyboardEvent
  "Invoked by Ctrl-q to query the Symbol table and display alternate symbols."
 
  | hintText lastOffering offering |
  (self isTypingIn not or: [self history current type ~= #query])
  ifTrue: [
  self closeTypeIn.
  self openTypeIn.
  self selectPrecedingIdentifier.
  self closeTypeIn].
 
  self openTypeInFor: #query.
 
  hintText := self history current contentsBefore string.
  hintText := hintText copyFrom: (hintText
  lastIndexOfAnyOf: Character separators, '#'
  startingAt: hintText size ifAbsent: [0])+1 to: hintText size.
  self selectInvisiblyFrom: self history current intervalBefore first to: self stopIndex-1.
  lastOffering := self selection string.
  lastOffering := (lastOffering copyReplaceAll: ':  ' with: ':') withBlanksTrimmed.
 
  "Only offer suggestions for not-empty tokens."
  hintText ifEmpty: [morph flash. self closeTypeIn. ^ true].
+ offering := Symbol thatStarts: hintText skipping: lastOffering.
+ offering ifNil: [offering := Symbol thatStarts: hintText skipping: nil].
+ offering ifNil: [morph flash. self closeTypeIn. ^ true].
- offering := (Symbol thatStarts: hintText skipping: lastOffering) ifNil: [hintText].
- offering ifEmpty: [morph flash. self closeTypeIn. ^ true].
 
  "Add some nice spacing to the suggestion."
  offering := offering copyReplaceAll: ':' with: ':  '.
  offering last = Character space ifTrue: [offering := offering allButLast].
 
  "Insert the suggestions. (Note that due to previous selection, things will be overwritten and not appended.)"
  self typeAhead nextPutAll: offering.
 
  ^ false!