I'm doing a little update for Intelli-Dolphin (fixing some of the bugs reported
here and adding things like - Alt-Backspace to go back in history of current
browser, and Ctrl-Shift-T for a quick refactoring menu popup).
Anyway on my todo list was to fix the way that Ctrl-Shift-F works. Typing
method names isn't so bad, but I don't like how when I type class names it
shows all the methods in the classes too (and I also don't like how wildcards
don't work either).
Anyway the following is my workaround for Intelli - but I thought I would
share it before I release as I recall others agreeing with me that they didn't
like the default behavior either.
Interestingly I found that I didn't need to support wildcards, I simply use
"contains" semantics, and the Scintilla widget (I think thats what its using)
seems to always hilite what I'm thinking of finding (which is neat)...
Simply replace the method: #searchItemsStartingWith:maxItems:
| result |
aString first isLowerCase
[| matchingSymbols |
matchingSymbols := self selectorsStartingWith: aString maxItems: anInteger.
^matchingSymbols collect: [:each | each displayString]].
result := OrderedCollection new.
environment classes do:
(eachClass name findString: aString) > 0 ifTrue: [ result add: eachClass
> Guys -
> Anyway on my todo list was to fix the way that Ctrl-Shift-F works. Typing
> Interestingly I found that I didn't need to support wildcards, I simply use
> "contains" semantics, and the Scintilla widget (I think thats what its using)
> seems to always hilite what I'm thinking of finding (which is neat)...
Actually its a bit more complicated if you like that automatch
facility. Scintilla is doing its binary chop based on the characters
you type in starting at the beginning of the text. so a quick fix is
also the following (which Intelli will apply):
The last patch is a bit odd - as I was expecting the 0 prefixLength
specified above to propogate back on the completion but it doesn't seem
to? Anyway as the widget is always expecting to search from the
beginning, you can hardcode a 1 for the onCompletion (and I'm not sure
why there is all kinds of funcky text replacing going on anyway?)