We have a shortcoming in our searching mechanism, I have compared this to M$ Developer Studio 2005.
Here are some use cases (say we are looking for the word test, and that word is in the current editor 4 times):
1) Use case 1 :
The search is started (direction : down) from the top :
- hit 1
- F3 (find next) -> hit 2
- now the cursor is manually moved past the 3rd occurence
- find next -> hit 4
Basically it comes down to : when doing a find next, the search is carried out with the settings from the previous search, but overruling the starting position
2) Use case 2 :
The search is started (direction : up) from the bottom :
- hit 4
- "find the next one" -> hit 3
- now the cursor is manually moved before the 2nd occurence
- "find the next one" -> hit 1
Basically it comes down to : when doing a "find next one" in the direction "up", the search is carried out with the settings from the previous search, but overruling the starting position
3) Use case 3 :
The search is started (direction : up) from between the 3rd and 4h occurence:
- hit 3
- F3 (find next) -> hit 4 (!!!!!)
- now the cursor is manually moved before the 2nd occurence
- F3 (find next) - hit 3
There's a difference in the "next" thing to look for.
One can have the cursor somewhere and wants to find the "next" occurence, where the direction is discarded (and falling back on the natural direction : down), BUT on the other hand one would want to search backwards (direction : up) and then the "next hit" is to be considered before the current hit.
Currently CB supports use case 1 and 3. We have no solution for use case 2, the closest we get is that when you know you are searching upwards, you could use "find previous (shift F3) to have a similar effect.
The "inverse" situation where "next" -> "previous" suffers from the same problem.
Now how does M$ Developer Sudio (and I have seen it in other editors too) solve this :
a) F3 (find next) / Shift F3 (find previous) is always according to the natural direction (== DOWN).
b) when a search is started (through the search dialog (no other way to start a new search [well when never a search has been carried out and you press (shift)F3], CB will show the search dialog)), you get a similar dialog to the one in CB (with direction : up/down), BUT the dialog remains open during the search, AND the dialog has a button "find next" where it has the meaning of Use case 2.
I think to support Use Case 2, we will also nee such a dialog remaining open. Since at the momnt we don't have it, you will need to workaround by using the "find next" or "find previous" commands in accordance to the search direction (up/down).