Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.248.mcz==================== Summary ====================
Name: Tools-eem.248
Author: eem
Time: 29 June 2010, 5:35:42.881 pm
UUID: 0b9c21cf-7f57-4db1-82c1-a8edbfb07600
Ancestors: Tools-jcg.247
Make MessageNames accept semicolon-separated patterns,
so "at:put*;*remove*" answers all selectors beginning with
"at:put" and all including remove. Needs Collections-eem.367.
=============== Diff against Tools-jcg.247 ===============
Item was changed:
----- Method: MessageNames>>computeSelectorListFromSearchString (in category 'search') -----
computeSelectorListFromSearchString
"Compute selector list from search string"
+ searchString := searchString asString copyWithout: $ . "?dubious?"
+ selectorList := Cursor wait showWhile:
+ [| sorted |
+ sorted := SortedCollection sortBlock: [:x :y | x asLowercase <= y asLowercase].
+ (searchString findBetweenSubStrs: ';') do:
+ [:selPat| | raw n m |
+ selPat size > 0 ifTrue:
+ [(selPat first = $" and: [selPat last = $" and: [selPat size > 2]])
+ ifTrue:
+ [Symbol hasInterned: (selPat copyFrom: 2 to: selPat size - 1) ifTrue: [:sym| sorted add: sym]]
+ ifFalse:
+ [raw := (((n := selPat occurrencesOf: $*) > 0)
+ | ((m := selPat occurrencesOf: $#) > 0)
+ and: [selPat size > (n + m)])
+ ifTrue: [Symbol selectorsMatching: selPat]
+ ifFalse: [Symbol selectorsContaining: selPat].
+ sorted addAll: raw]]].
- searchString := searchString asString copyWithout: $ .
- selectorList := Cursor wait
- showWhile: [
- | raw sorted |
- raw := Symbol selectorsContaining: searchString.
- sorted := raw as: SortedCollection.
- sorted
- sortBlock: [:x :y | x asLowercase <= y asLowercase].
sorted asArray].
+ ^selectorList!
- selectorList size > 19
- ifFalse: ["else the following filtering is considered too expensive. This 19
- should be a system-maintained Parameter, someday"
- selectorList := self systemNavigation allSelectorsWithAnyImplementorsIn: selectorList].
- ^ selectorList!