Search++: A work in progress
-
Just a few small fixes in Search++ version 0.5.5:
- Fix Replace All with ICU search engine should give “Command not implemented” message.
- Copy current line indicator and caret settings from active document to Find and Replace box and search results list.
- Use a more distinct symbol for “in selection” scope on command buttons.
- Make messages for Mark and Show commands more accurate when there are null matches.
All observations, criticisms, experiences and suggestions are welcome!
-
Hello, @coises and All,
Thanks for that new release ! Briefly :
-
I quickly test the
Replace Allbutton, while inICUmode as well as the new icon for the Selection scope on command buttons => I onfirm the expecting results ! -
Thanks for including the
Current Line IndicatorandCaretsettings withinSearch++. It’s worth to point out that if you modify these N++ settings during aN++session, you’ll need to close and restart Notepad++ in order that these new parameters are taken in account by theSearch++plugin ! -
Finally the message, regarding the null matches when using a
MarkorShowcommand, is, indeed, much more explicit !
Now, I stumbled upon a weird bug : while within a N++ session :
- If
Search++panel is already opened, click on the cross, on the far right to close theSearch++dialog
Now, re-open
Search++with thePlugins > Search++ > Search...option ( Note that I use the Docking mode )-
Click on the current tab ( not within the text window ! )
-
Click on the
Search++windows title -
Sometimes, you’ll need to repeat these last two actions twice, in order to trigger that bug
-
Now, try to close the
Search++panel by clicking on the cross, on the far right => Nothing happens !? -
Generally, after some clicks, the dialog finally closes !
Note that I mapped the
Ctrl + Shift + Nshortcut to thePlugins > Search++ > Search...option. So, if I use this shortcut, I’m able to actually close theSearch++dialog in that specific case and also in all the other cases !I would consider that it’s a minor bug and I’m not
100 %certain about the steps to reproduce it : not quite obvious !Best Regards,
guy038
-
-
@guy038 said in Search++: A work in progress:
- Thanks for including the
Current Line IndicatorandCaretsettings withinSearch++. It’s worth to point out that if you modify these N++ settings during aN++session, you’ll need to close and restart Notepad++ in order that these new parameters are taken in account by theSearch++plugin !
Another way is to change between light and dark mode; that causes Search++ to reset all the appearance information it copies from the active tab. That’s because plugins get a notification when light/dark mode changes, but I don’t think there is anything that would notify Search++ when current line or caret settings change.
A good point, though: I should either document this behavior, or reset appearance every time a Search++ window gains focus.
Now, I stumbled upon a weird bug : while within a N++ session :
- If
Search++panel is already opened, click on the cross, on the far right to close theSearch++dialog
Now, re-open
Search++with thePlugins > Search++ > Search...option ( Note that I use the Docking mode )-
Click on the current tab ( not within the text window ! )
-
Click on the
Search++windows title -
Sometimes, you’ll need to repeat these last two actions twice, in order to trigger that bug
-
Now, try to close the
Search++panel by clicking on the cross, on the far right => Nothing happens !? -
Generally, after some clicks, the dialog finally closes !
Note that I mapped the
Ctrl + Shift + Nshortcut to thePlugins > Search++ > Search...option. So, if I use this shortcut, I’m able to actually close theSearch++dialog in that specific case and also in all the other cases !I would consider that it’s a minor bug and I’m not
100 %certain about the steps to reproduce it : not quite obvious !I haven’t yet been able to get this to happen on my system. Thank you for reporting it. If I can reproduce it, I’ll attempt to figure out why it happens. What’s strange is that Notepad++ manages the close button for docking dialogs. Even if I completely remove all my close (actually hide) dialog code, clicking that X still closes the docking panel and hides the search dialog. So either you have stumbled on a Notepad++ bug, or something I am doing in Search++ is interfering with normal Notepad++ behavior.
Have you ever seen this behavior with any other docking window?
- Thanks for including the
-
Hi, @coises,
I re-tested the supposed bug and I simplified the procedure which is necessary to trigger that bug !
-
If opened, close the
Search++plugin by clicking on the cross, at the far right -
ARe-openSearch++with thePlugins > Search++ > Search...option -
BTry to close theSearch++panel by clicking on the cross, at the far right => Nothing happens !? -
CAfter some trys, if you move slightly the mouse, you should be able to close theSearch++panel
Sometimes, you’ll need to repeat the actions
AatoC, up to5times consecutively, to trigger that bug. but this event may also occur at the first try !I also noted that, when the bug occurs, any subsequent left click on the cross does nothing until I move very slightly the mouse, without any clicking, that is enough, then, to close the
search++panel by clicking againg onto the cross icon. Very strange, indeed !?
As I suspected that the problem could be an hardware issue with my bluethooth mouse, I disabled it and installed a classical
USBmouse, instead. But, unfortunately, results were identical as well as the uncertainty regarding the manifestation of the bug !I have different portable versions of Notepad++, but the one which is concerned is the
v8.9release where I installed, both, yourColumns++andSearch++pluginsHere is my Debug info :
Notepad++ v8.9 (64-bit) Build time: Jan 10 2026 - 02:25:19 Scintilla/Lexilla included: 5.5.8/5.4.6 Boost Regex included: 1_90 pugixml included: 1.15 nlohmann JSON included: 3.12.0 Path: D:\890_x64\Notepad++.exe Command Line: Admin mode: OFF Local Conf mode: ON Cloud Config: OFF Periodic Backup: OFF Placeholders: OFF Scintilla Rendering Mode: SC_TECHNOLOGY_DIRECTWRITE (1) Multi-instance Mode: monoInst asNotepad: OFF File Status Auto-Detection: cdEnabledNew (for current file/tab only) Dark Mode: OFF Display Info: primary monitor: 1920x1080, scaling 125% visible monitors count: 1 installed Display Class adapters: 0001: Description - Intel(R) Iris(R) Xe Graphics 0001: DriverVersion - 32.0.101.7084 OS Name: Windows 11 Pro (64-bit) OS Version: 25H2 OS Build: 26200.7462 Current ANSI codepage: 1252 Plugins: mimeTools (3.1) NppConverter (4.7) NppExport (0.4) ComparePlus (2.2) ColumnsPlusPlus (1.3.1) NppUISpy (1.2) MultiReplace (4.6.0.33) Marginalize (1) Search++ (0.5.5)Finally, note that this portable version of N++ is installed on an
USBdriveBest Regards,
guy038
-
-
C Coises referenced this topic on
-
I use the dark mode display for almost all apps and I really like it, so I think we are in agreement :)
You know what they say - join the dark mode, we have cookies… 🍪
On another note, I would like to hear your thoughts as veterans on this forum. I’m working on an AI chat plugin to streamline the use of prompting an LLM into the workflow with N++. I wonder - has anyone done it before? What would be important features to implement?
I would appreciate hearing your thoughts.
Thank you!
-
Hello, @lachlanmax and All,
Well, presently I’m not a modern
C++developer and I rather use the old MicrosoftQbasicor sometimes theGAWKsoftware and, more rarely, the N++PythonScript, in addition to N++ and its plugins, of course !However, I’ve got some documentation on
C/C++. So, I’ll probably learn a lot from scratch but I’m not sure yet if I’ll be able to make improvements to our beloved editor !
So, to my mind, you should get in touch with @Richárd-stockinger and @jw which already developed AI tools for N++. They will surely provide you with valuable advice for your project ! Refer to :
https://github.com/krazal/nppopenai
https://github.com/Qdthon/Notepad-AIPlugin
Best Regards,
guy038
P.S. :
Although you might assume that some of my regex solutions seem to have been created with the help from an
IAengine, I can assure you that it’s only my modest brain that’s at shake when it comes to these resolutions ! -
@guy038
I wasn’t familiar with these projects. Thank you for the tip-off, I have a lot to learn from these. Glad I asked your advice.We don’t know each other too well yet, but from your replies I get the feeling you have been coding for a while now… as a relative n00b I think it’s good to learn coding the nuts-and-bolt way, not just “vibe coding” like everyone is nowadays. (Even though I’m developing an AI plugin, so a bit of a contradiction. But I like to develop plugins that I would use personally, and I don’t use it to “vibe code”. Granted though that some might.)
tl;dr Hard work pays off!
-
Hi, @lachlanmax and All,
I forgot to give you the Community threads of, both, @Richárd-stockinger and @jw :
https://community.notepad-plus-plus.org/topic/24444/new-plugin-nppopenai
https://community.notepad-plus-plus.org/topic/27361/ai-plugin
BR
guy038
-
Hello, @coises and All,
How are you, @coises ? Pretty good, I guess ! I just uploaded a new version of the
ICU.txtfile which simply corrects a few typos.https://drive.google.com/file/d/1_TwEV1oorsoWUUjL97BmptcR4fpNQ98_/view?usp=sharing
First, regarding the bug I mentioned in my two previous posts, I also detect it with native N++ and, for example, the
Find Resultspanel :-
Open the
Finddialog -
Do any kind of search
-
Click on the
Find All in Current Documentbutton
=> A
Search resultspanel opens and displays all the occurrences of the searched stringNow :
-
(1) First, click once, anywhere on the blue
Search resultstitle -
(2) Then, moving your mouse horizontally up to the cross, at the far right, try to close the panel => Nothing happens !
-
(3) Just, move down the mouse within the
Search resultspanel then re-click on thecross=> This time, theSearch resultspanel should close, as expected. -
Re-open the
Search resultspanel, using theF7key -
Repeat the actions, 1, 2 and 3 to trigger again that bug. Sometimes, some tries are necessary to get into the problem !
Remark :
- If, you accidentally double click on the
Search resultstitle bar, this panel will become a floating window. To restore its initial postion, simply double-click again on theSearch resultstitle bar
Note that, in the end, this bug does not really matter because I mapped the
Ctrl + Shift + Nshorctut to theSearch...option of your plugin. So, hitting this shortcut twice does close the plugin, anyway !
I thought of an enhancement of your
Search++plugin :Let’s suppose that I want to mark all lines which satisfy the regex below, against the latest change.log file ( release
8.9.6). So :-
We open or select the
change.logfile / tab -
We open the Mark dialog (
Ctrl + M) -
We check the
Bookmark line,Purge for each searchandWrap aroundoptions, ONLY -
MARK
(?i-s)(?:\G|Q).*?T -
We select the
Regular expressionmode -
Finally, we click on the
Mark Allbutton
Two lines only are bookmarked : the very first one and the point
#8ofv8.9.4. However, the total number of occurrences is8Notepad++ v8.9.6 vulnerability fix, regression fixes & bug-fixes: 8. Fix quote escaping causing incorrect JSON syntax highlighting (Lexilla update related).As you can see :
-
For the first line, as we are at the very begining of file, the
\Galternative finds two occurrences -
For the second line, the
Qalternative finds the first occurrence and the\Galternative finds the five remaining occurrences
So, I was wondering if you could alternate the colors, between the present mark color and an other one, in order to easily distinguish these occurrences ?
Now, near the end of your initial
Search++post, you said :I plan to add a Save function that will let you save searches you might want to use again. Of course, once it is possible to save, it has to be possible to delete and rename and edit and organize… I haven’t designed a user interface for any of that yet.
I do support this future enhancement !
Best Regards,
guy038
-
-
So, I was wondering if you could alternate the colors, between the present mark color and an other one, in order to easily distinguish these occurrences ?
I have thought about the possibility of making marks designate individual spans of text rather than running together. It is possible. In fact, you can see it, if you look closely, in the Search++ search results window if you do a Find All with the change log and your regular expression. You might have to zoom to see it, but there are small white spaces between the different matches. The search results window also marks null matches with an upward-pointing chevron below the baseline.
Your idea makes sense. I believe I would have to make it an optional feature, because it is not the way marking ordinarily works in Notepad++. I also have to consider how it impacts search in marked text, though I think that would be straightforward: when marked text is separated in this way, each individual span would be searched independently. (In the current way of marking, each contiguous marked block is searched regardless of whether it came from a single match or multiple matches.) It will take some thinking to make sure what happens when marked text is already present and new marks are added which adjoin or overlap existing marks makes sense.
I do support this future enhancement
As you’ve no doubt noticed, there hasn’t been any progress on Search++ lately. I had hoped that following the point where I made the first public release I would be able to just keep going straight through to a first “stable” release, but my attention has been directed elsewhere for a time. I’ll be back.
Find/replace in files and saving searches are the two main features I want to add before I think I can close in on “stable.” These are both things that I think could cause significant changes in the programming (and maybe the user interface), so I don’t want to try to reach “stable” and then immediately destabilize everything. I’m treating their absence as a blocker.
I think I want to add a couple more options for manipulating marked text (like remove marks from selected text) to the Tools menu, and I have some known problems (like that the search results window can be painfully slow with a lot of matches in a large file, and I don’t think the routine that is supposed to make finding a match scroll so that the match won’t be hidden behind the dialog when it is non-docking works reliably yet). ICU search should either be hidden or be extended to work with most if not all of the same commands as Regex (Boost).
There is still no simple way to access the drop-down menus on the split command buttons by keyboard, and I still don’t have a good idea how to make it both possible and discoverable. I think I need to add Find and Replace commands to the plugin menu so it would be possible to set them as Notepad++ shortcuts, which would make it possible to do sequential find and/or replace while focus remains in the document.
Your suggestion here makes sense, and I need to crawl through this entire topic to see what other ideas and observations I might have forgotten. There was a suggestion in another topic about showing context (lines before and after) in the search results list: I’ll probably look at that when I look at search in files, since both will require significant changes to the way I build the search results list at present.
-
First, regarding the bug I mentioned in my two previous posts, I also detect it with native N++ and, for example, the Find Results panel :
Thank you for that additional information. I had a suspicion this was a Notepad++ behavior not really related to the plugin.
I have not been able to reproduce it. It is possible that it is dependent on some detail of your operating system or drivers.
Since you can reproduce it without any plugin, I suggest adding it as a Notepad++ issue if you think it is worth further investigation. It could be that others will be able to reproduce it, perhaps including someone who can run Notepad++ under debug and close in on what is going wrong.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login