Community
    • Login

    Search++: A work in progress

    Scheduled Pinned Locked Moved Notepad++ & Plugin Development
    94 Posts 7 Posters 11.0k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • guy038G Offline
      guy038
      last edited by guy038

      Hi, @coises,

      Many thanks for your very exhaustive answer ! So OK, I understand that the ICU replacement seems really difficult to implement !

      In my opinion, as the replacement syntax seemed simpler when using ICU than when using Boost, I naively thought that a solution could be implemented enough easily !

      Sorry for my noob approach of the problem. And given what I now know, I won’t dare ask you about specific topics like this one, again . Just follow your train of thought, which I am convinced ,will lead to a polished final Search++ plugin !

      BR

      guy038

      CoisesC 1 Reply Last reply Reply Quote 1
      • CoisesC Offline
        Coises @guy038
        last edited by

        @guy038 said in Search++: A work in progress:

        I won’t dare ask you about specific topics like this one, again

        There is no reason you shouldn’t ask. I am sorry if I sounded defensive or otherwise implied that the question was troublesome. I realize I probably gave a more exhaustive (or exhausting) reply than you really needed… I kind of got caught up “explaining it to myself.”

        It’s never really possible for someone who isn’t doing the programming to know whether something will be easy, difficult or anywhere in between. Some things seem like they should be easy… and they are! Others have complications that don’t turn up until you’ve already put in a bunch of time and effort, then you discover one little detail that you can’t change that blocks your entire approach. So for me, too, it’s only a guess how much work it would be, though I have more information from which to make my guess.

        Please don’t hesitate to ask questions and make suggestions. It’s possible that I have a good reason for doing or not doing any given thing; it’s equally possible that I just never thought about it. I don’t expect people who aren’t working with the code to know the difference, and neither should they expect that of themselves. Though I have to prioritize, and some things don’t make the “first cut,” all feedback helps; what doesn’t get done for one release will still be waiting to be considered in another. Even if I outright say, “No, I’m just not going to do that,” it still tells me there’s a need adjacent to what I’m building that I haven’t addressed, and I should think about how to make it better when I can.

        Thank you, @guy038, for all the work you’ve done so far to test and explore this project.

        1 Reply Last reply Reply Quote 3
        • CoisesC Offline
          Coises
          last edited by

          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!

          1 Reply Last reply Reply Quote 2
          • guy038G Offline
            guy038
            last edited by guy038

            Hello, @coises and All,

            Thanks for that new release ! Briefly :

            • I quickly test the Replace All button, while in ICU mode as well as the new icon for the Selection scope on command buttons => I onfirm the expecting results !

            • Thanks for including the Current Line Indicator and Caret settings within Search++. It’s worth to point out that if you modify these N++ settings during a N++ session, you’ll need to close and restart Notepad++ in order that these new parameters are taken in account by the Search++ plugin !

            • Finally the message, regarding the null matches when using a Mark or Show command, 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 the Search++ dialog

            Now, re-open Search++ with the Plugins > 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 + N shortcut to the Plugins > Search++ > Search... option. So, if I use this shortcut, I’m able to actually close the Search++ 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

            CoisesC 1 Reply Last reply Reply Quote 2
            • CoisesC Offline
              Coises @guy038
              last edited by

              @guy038 said in Search++: A work in progress:

              • Thanks for including the Current Line Indicator and Caret settings within Search++. It’s worth to point out that if you modify these N++ settings during a N++ session, you’ll need to close and restart Notepad++ in order that these new parameters are taken in account by the Search++ 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 the Search++ dialog

              Now, re-open Search++ with the Plugins > 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 + N shortcut to the Plugins > Search++ > Search... option. So, if I use this shortcut, I’m able to actually close the Search++ 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?

              1 Reply Last reply Reply Quote 2
              • guy038G Offline
                guy038
                last edited by guy038

                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

                • A Re-open Search++ with the Plugins > Search++ > Search... option

                • B Try to close the Search++ panel by clicking on the cross, at the far right => Nothing happens !?

                • C After some trys, if you move slightly the mouse, you should be able to close the Search++ panel

                Sometimes, you’ll need to repeat the actions A ato C, up to 5 times 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 USB mouse, 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.9 release where I installed, both, your Columns++ and Search++ plugins

                Here 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 USB drive

                Best Regards,

                guy038

                1 Reply Last reply Reply Quote 0
                • CoisesC Coises referenced this topic on
                • LachlanmaxL Offline
                  Lachlanmax @guy038
                  last edited by

                  @guy038, @coises and all,

                  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!

                  1 Reply Last reply Reply Quote 0
                  • guy038G Offline
                    guy038
                    last edited by

                    Hello, @lachlanmax and All,

                    Well, presently I’m not a modern C++ developer and I rather use the old Microsoft Qbasic or sometimes the GAWK software 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 IA engine, I can assure you that it’s only my modest brain that’s at shake when it comes to these resolutions !

                    LachlanmaxL 1 Reply Last reply Reply Quote 0
                    • LachlanmaxL Offline
                      Lachlanmax @guy038
                      last edited by

                      @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!

                      1 Reply Last reply Reply Quote 1
                      • guy038G Offline
                        guy038
                        last edited by guy038

                        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

                        1 Reply Last reply Reply Quote 0

                        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
                        • First post
                          Last post
                        The Community of users of the Notepad++ text editor.
                        Powered by NodeBB | Contributors