survey: Incremental search usefulness
-
Hello @cmeriaux, @alan-kilborn, @asvc and All,
Like Alan, I’m really dubious about the advantages of regular expressions in incremental search ! A simple example :
Let’s suppose you would like to highlight all occurrences of ranges of characters between the uppercase letter
I
and the closest lowercase letterw
, so the regexI.*?w
:-
First, we tick the two options
Highlight all
andMatch case
-
Pressing the
I
letter, I get###
occurrences -
Pressing the
.
char => Just1
occurrence : this regex ;-)) -
As we could search for the literal string
I.
OR for the regexI.
, we need an option that would had been previously ticked. Let’s assume it’s the case. Then :
- I => Any uppercase letter I - I. => Any uppercase letter I followed by ONE STANDARD character - I.* => Any uppercase letter I followed by ALL STANDARD characters of CURRENT line - I.*? => Any uppercase letter I followed by the SHORTEST range, possibly NULL of STANDARD chars => Letter I ONLY - I.*?w => Any uppercase letter I followed by the SHORTEST range, possibly NULL of STANDARD chars till a lowercase letter w
Seemingly, there’s no logic on such a progression ! I, personally, prefer to use the
Mark
dialog to get, at once, all occurrences of the regexI.*?w
, with the possibility of bookmarking all the lines where the different occurrences occur ;-))
Some thoughts :
-
It could be of some interest to add an option
Match whole word
to the traditionalincremental
search ! -
To easily switch between the
incremental
dialog, keeping it opened and the main text window, I, personally, use :-
The
Ctrl + Alt + I
shortcut to focus on theIncremental
dialog, again -
A double hit on the
Windows
key to focus on the main text window, again ( A work-around ! )
-
-
To close the
incremental
dialog, when focused, I simply hit theESC
key
=> Surely, easier methods for such actions could be implemented ;-))
As a conclusion, I believe that the
Incremental
search should remain rather basic, at it is in some browsers, while hitting theCtrl + F
shortcut !Best Regards,
guy038
-
-
@cmeriaux , @Alan-Kilborn , @guy038 .
It sounds like “incremental” is a bit of a point of disagreement here.
How about we replace it with the “regular search in the docked panel”?To elaborate on the usefulness of the real-time highlighting (massive time-saver!), here as a short example using the message above.
Say I want to wrangle lines that begin with the
- I.*
pattern:Instant visual feedback reaffirms correctness of the chosen regexp and allows user to adjust it on the fly.
-
The type of search demonstrated (effective screencast, BTW) does indeed seem useful as something different than the incremental search feature.
I like that it doesn’t move the caret and thus the user’s view at his data doesn’t “jump” as I mentioned before. Even if the match extends below the user’s view I think the screen should not change (too much of a lost of context)?
-
@Alan-Kilborn said in survey: Incremental search usefulness:
Even if the match extends below the user’s view I think the screen should not change
Precisely. And in the VIM world, there is a concept of “action”.
Check this out:
- Search
- Perform action on the result.
Hence I have asked this question.
-
@asvc said in survey: Incremental search usefulness:
VIM world, there is a concept of “action”.
Sure, I understand the VIM thing.
There have been requests for it before that have gone unheeded.
It’s OK…but it’s probably not a valuable thing for the vast majority of N++ users.Hence I have asked this question.
Which is probably a more “mainstream” (valuable) way of doing it for N++ users.
Let’s see if it gets implemented. -
Here is a screencast of the POC I’ve did. https://youtu.be/_s6BJf4sdw4
I’ve added controls to select the search mode:- Mode normal
- Mode extended
- Regular exp
- . matches new line (for regex)
It’s less than 100 code line. So it has good chances to be accepted by the author.
Using regexp mode is very nice, specially if you’are not the RegExp kingWould you prefer several control (like in the screen cast) or a combo box to select the search mode ? I hesitate.
-
@cmeriaux i would prefer several control by far!!!
-
So the one of us here (@guy038) that understands regex and its applicability and usefulness better than anyone else, makes a statement like:
I’m really dubious about the advantages of regular expressions in incremental search
and yet we proceed? Well…okay…
Would you prefer several control (like in the screen cast) or a combo box to select the search mode ? I hesitate.
I would vote for a dropdown.
It is easier to change with a radiobutton approach – don’t use checkboxes like in the screencast! – but since @guy038 and I and … aren’t ever going to change it away from Normal, it’s okay. :-)
It seems like the text for the modes should exactly correspond to that used on the Find screen as well – I noticed in your screencast that it does NOT correspond.
@Alex-M said:
i would prefer several control by far!!!
Can you clarify what that means? After several readings it doesn’t make sense, to me at least.
-
One more point: I thought @Ekopalypse said somewhere that if incremental search were going to be improved, he’d like to see the size of the text input box be wider, and probably scaled to the size of the main Notepad++ window. How about making that change as well?
-
Hi, @cmeriaux, @alan-kilborn, @asvc and All,
Ah, Christophe ! Your Youtube animation is really valuable ! As they say in France: “A single image is better than a long speech !”. So, when I said :
Like Alan, I’m really dubious about the advantages of regular expressions in incremental search !
Now, I won’t be so hesitant and suspicious about it ! Indeed, despite of the fact that, in regex mode, the result of search, necessarily, does not respect a logic progression, I do see, now, the great advantage of an immediate match, as mentioned by @asvc, especially for beginners and intermediate regular expression users ;-))
I certainly do not want to appear as a guru, always having the best opinion on any subject. I am not infallible and able to recognize that I was wrong and that my judgment was a hasty fear ! As always, only practice will tell us the real potential of
Incremental search
, in extended or regex mode but I think it would be really useful to include this new feature in a next release ;-))Most of a time, we’ll probably use the normal mode. But I admit that the possibility, from times to time, to run a regex or extended search is really a
+
!Best Regards,
guy038
-
@guy038 said in survey: Incremental search usefulness:
I certainly do not want to appear as a guru
Certainly no one thinks you try to be, you’re just doing the best you can.
You can’t help how others see you, up on the regex mountain. :-)Now, I won’t be so hesitant and suspicious about it
Sure, OK…now I stand alone at not seeing a great amount of value in incremental regex search.
It doesn’t bother me.Let’s see if it gets accepted.
But…how about other constructive criticism on the screencast, from someone other than myself?
-
Yeah, that’s what I’d like to have too. Very nice.
I’d rather have a combo box, and as @Alan-Kilborn said, the input field should fill the remaining space.
Another thing that is obvious but easy to forget is that each control should be created with WS_TABSTOP so I can use the TAB key to access it.@guy038 - Ein Bild sagt mehr als tausend Worte (A picture is worth a thousand words)
-
hello,
here is a new version with a dropdown list to select the mode. each string is same as the classical find dialog.
it’s much consistently that way (for the UI and the Code)
Tab stop hasn’t been forgotten ;-)
I’ve increased the width of the input field (much easier than filling the remaining space )
https://youtu.be/lnfJBeb2RkU -
@cmeriaux said in survey: Incremental search usefulness:
Here is a screencast of the POC I’ve did. https://youtu.be/_s6BJf4sdw4
Yessss. Thanks heaps.
@cmeriaux said in survey: Incremental search usefulness:
Would you prefer several control (like in the screen cast) or a combo box to select the search mode ? I hesitate.
Good question.
- Check-box: one click less to toggle mode
- Drop-down: visually cleaner and allows to preserve space for the input field
I vote for the combo-box with (ideally) assignable hotkeys. For example:
- CTRL+F – live regexp search
- CTRL+SHIFT+F – open dedicated search window
- ALT+SHIFT+F – something else.
-
I’ve increased the width of the input field
Have you opened an issue on this for github? Or maybe there is an existing one?
If one hasn’t been opened yet, with the addition of widening the input field maybe we are in the area of general improvements to incremental search, and the issue should reflect that.What I’m getting to is another general improvement that I believe @guy038 brought up: The ability to switch back to the editor window without closing the incremental search window. Currently Esc closes the incremental search window and switches back, but it is rather visually disruptive to close the window when you are probably going to use it again soon.
I’d be okay with Esc switching focus back and a different keycombo (alt+f4 ?) closing the window.
The second video has a nicer look than the first. Well done.
-
Thanks for you feedback.
Dop-down solution won.
I’ve created an Issue (https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8247)
and a Pull request for the things I’ve done ( https://github.com/notepad-plus-plus/notepad-plus-plus/pull/8248 )A Nigthly build is available if you want to test or to play.
https://ci.appveyor.com/project/cmeriaux/notepad-plus-plus/builds/32773840/job/yhkoe9ieaxdmkwuf/artifactsLet’s create other issue for other demands. Let’s keep Pull Request as small as possible to increase the probability to be integrated.
-
Hi @cmeriaux,
I downloaded your test build, but I got the message :
"This application is not a valid Win32 application
Surely connected to my oldWin XP WP3
configuration !!
On the other hand, Christophe, what about a
Whole word only
option, which could be useful inNormal
search mode ? Of course, it should be forbidden in case of regex search !BR
guy038
-
@cmeriaux said in survey: Incremental search usefulness:
A Nigthly build is available if you want to test or to play.
A better link for this might be the more upper-level one:
https://ci.appveyor.com/project/cmeriaux/notepad-plus-plus/builds/32773840That way users of either 32-bit or 64-bit can follow the links down to grab the trial executable they would need. So, as an example, if you want the 64-bit exe, you could click on this:
and it would lead to a screen with this on it somewhere:
From there you would click
Artifacts
and this would take you to a page where you can actually download the trial version.So what you would do would be to download and put the exe in the same folder as your normal v7.8.6 executable
notepad++.exe
is; then run the trial exe instead of the normal one. Another option is to grab a portable .zip version of 7.8.6 and replace put the downloaded .exe in the extraction folder for that. -
Hi @guy038 i’ve already though about
whole word only option
, but what’s the interest of incremental search if it’s not incremental due to whole word option. So I decided to not overload the UI.About the nightly build test, it’s strange. Have you every managed to run a nightly build (x64 or x86 or mingwin). I don’t know what to say. what about moving to win10 ? Sorry for the troll.
-
Hello, @cmeriaux, @alan-kilborn and All,
I gave a try, using the @alan-kilborn’s link => Same negative result. But, don’t bother about it, never mind !
Now, regarding the
Whole word only
option, I’m usually using, for instance, theFirefox
browser which has this option, though it searches in an incremental way ;-))Cheers,
guy038