Community
    • Login

    Filter the data !!!

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    63 Posts 6 Posters 12.9k Views
    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.
    • Alan KilbornA
      Alan Kilborn
      last edited by

      @guy038

      How about supplying your screenshoted text as ACTUAL text here so that I can attempt to duplicate your coloring results without a lot of retyping? :-)

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

        Hello, @alan-kilborn, @ekopalypse, @peterjones and All,

        Alan, when I said :

        • When less than 6 groups are involved in the overall regex, …

        I do not see this behaviour as an issue. On the contrary, I think that it’s quite useful ;-)) I mean, as most of regex S/R don’t need more than 5 groups, we can :

        • Easily identify these groups, from 1 to 5, with your Python script

        • Then, easily identify successive $0 matches, thanks to the 2 colors of styles 17 and 18, after running the context command Remove style > Clear all Styles


        Ah, OK ! Here is my text, being in N++ Post-it screen mode, in my previous post :

        
        Mark Style 1                   25      Color = [  0,255,255] , Alpha = 100
        Mark Style 2                   24      Color = [255,128,  0] , Alpha = 100
        Mark Style 3                   23      Color = [255,255,  0] , Alpha = 100
        Mark Style 4                   22      Color = [128,  0,255] , Alpha = 100
        Mark Style 5                   21      Color = [  0,128,  0] , Alpha = 100
        Find Mark Style                31      Color = [255,  0,  0] , Alpha = 100
        Incremental highlight all      28      Color = [  0,128,255] , Alpha = 100
        Smart Highlighting             29      Color = [  0,255,  0] , Alpha = 100
        
        StraightBox Style 1            17      Color = [240,128,160] , Alpha =  40
        StraightBox Style 2            18      Color = [128,200,240] , Alpha =  40
        
        (?-i)(\l+)11111|22222(\l+)|(\l+)33333|44444(\l+)|(\l+)55555|66666(\l+)|(\l+)77777|88888(\l+)
        
        abcde1111122222abcde12345abcde3333344444abcde12345abcde5555566666abcde12345abcde7777788888abcde
        ABCDE          FGHIJ     KLMNO          PQRST     UVWXY          ZABCD
        
        
        - UPPERCASE strings are hightligted with "Mark" style, from 1 to 5, and the "Find Mark" style ( "Match case" option ON )
                                                                                                         ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
        - StraightBox Style 1 ( id = 17, [240,128,160] ), of Group 0 color, highlights the string "abcde" + five ODD digits
        
        - StraightBox Style 2 ( id = 18, [128,200,240] ), of Group 0 color, highlights five EVEN digits + the string "abcde"
        
        
        For instance, the process for coloring the FIRST string "abcde", with "Mark Style 1" [0,255,255], is : 
        
        - First, "StraightBox Style 1", with Alpha =  40/255, is blended with "White" backgroud         => Color [252,235,240]
        
        - Secondly, "Mark Style 1", with Alpha = 100/255, is blended with color [252,235,240]           => Color [153 243 246]
        
        - When "Mark Style 1", with Alpha = 100/255, is blended with "White" background ( 1st "ABCDE" ) => Color [155,255,255]
        
        
        The GENERAL formula, for Red, Green and Blue, is :   FINAL Color = CURRENT color + Alpha x ( NEW color - CURRENT Color )
                                                             ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
        - If Foreground Alpha opacity =  1  =>  FINAL color = NEW colour            =>  The NEW color is totally OPAQUE
        - If Foreground Alpha opacity = .5  =>  FINAL color = ( NEW + CURRENT) / 2  =>  PERFECT mixing of the TWO colours
        - If Foreground Alpha opacity =  0  =>  FINAL color = CURRENT colour        =>  The NEW color is totally TRANSPARENT
        
        

        Best Regards,

        guy038

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

          Hi, @alan-kilborn and All

          At the end of my description of the blending process, I made a little mistake. I should have written :

          The GENERAL formula, for Red, Green and Blue, is :   FINAL Color = CURRENT color + Alpha x ( NEW color - CURRENT Color )
                                                               ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
          - If NEW color Alpha opacity =  1  =>  FINAL color = NEW colour            =>  The NEW color is totally OPAQUE
          - If NEW color Alpha opacity = .5  =>  FINAL color = ( NEW + CURRENT) / 2  =>  PERFECT mixing of the TWO colours
          - If NEW color Alpha opacity =  0  =>  FINAL color = CURRENT colour        =>  The NEW color is totally TRANSPARENT
          

          This is more rigorous !

          Cheers,

          guy038

          1 Reply Last reply Reply Quote 0
          • astrosofistaA
            astrosofista @guy038
            last edited by

            @guy038 said in Filter the data !!!:

            Personally, after dragging on the right, with the mouse, the Find dialog to its maximum, I’m able to type in up to 100 characters, with the monospaced search font ;-))

            That solves quite well one of the problems I pointed out above, but creates another one, as it covers too much space on the only screen of my laptop. It might help in some cases, or if I had another monitor, but I don’t think it’s a long-term solution.

            Anyway, thanks for the suggestion.

            1 Reply Last reply Reply Quote 1
            • astrosofistaA
              astrosofista @Alan Kilborn
              last edited by

              @Alan-Kilborn said in Filter the data !!!:

              @astrosofista The Toolbucket plugin provides multiline Find and Replace boxes, maybe that is to your liking. It’s probably been debated before many times that Notepad++ itself should have bigger boxes for these things, but I can’t cite any references.

              Will take a look at that plugin and check what it delivers. Thank you.

              1 Reply Last reply Reply Quote 0
              • astrosofistaA
                astrosofista @Ekopalypse
                last edited by

                @Ekopalypse said in Filter the data !!!:

                If it were multiline search/replace textboxes, then inserting EOLs is possible.
                How does Npp know that the inserted EOL should not be part of the search expression or replacement pattern?

                No, I wasn’t thinking in that feature, but in a kind of word wrapping.

                If it is a kind of word wrapping, how can we make sure that it is wrapped at a reasonable position to avoid confusion?

                No worries on my part, I could live with that, as long as I could see the big picture, that is, the whole expression.

                Personally, I’d prefer that the incremental search

                would be upgraded by regular expressions

                To be honest, I have little experience with regex and incremental searching. However, if it were implemented -something under discussion- it would be beneficial, at least from an educational perspective, since the visualization of results and the interaction it provides is very helpful.

                automatically adjusts to the window width

                Yes.

                provides a shortcut to easily switch to the editor and back again

                Again, yes.

                and, pure optional but really nice to have, a regex-lexer which colors and check my regexes.

                Also a larger font size - my aged eyes scream for it - and the ability to apply the usual editing commands, such as delimiters - to deal better with groups an classes - and duplication.

                In other words, to feel totally comfortable I would like to have all the facilities of the editor in the search window. Maybe that’s why I compose my regex in the editor and it will probably stay that way for a long time. And I say this because the implementation of @cmeriaux repeats the limitations of the current find dialog. It is a forward step, of course, but it doesn’t resolve the issues that bothers me.

                Anyway, I would be happy if only half of all these suggestions were implemented. Thank you.

                Alan KilbornA 1 Reply Last reply Reply Quote 2
                • astrosofistaA
                  astrosofista @Alan Kilborn
                  last edited by

                  @Alan-Kilborn said in Filter the data !!!:

                  I’m sure not quite what is being asked for, but here’s a curious little Pythonscript.

                  That’s right, I wasn’t asking for it, however I am always open to new ideas. Veré si puedo integrarla - me refiero a la versión final - en mi forma de trabajar. Y por lo que veo en las imágenes de los post posteriores, los colores se ajustan a un fondo blanco, no creo que se vean bien en el fondo oscuro. Va a haber que trabajarlo un poco.

                  Alan KilbornA 1 Reply Last reply Reply Quote 1
                  • Alan KilbornA
                    Alan Kilborn @astrosofista
                    last edited by

                    @astrosofista said :

                    I would like to have all the facilities of the editor in the search window.

                    I have some serious doubts that you’ll ever see this in Notepad++:

                    b1d31706-fdce-4acd-8694-00e10d4d4db6-image.png

                    But it raises a question I’ve always had:

                    With copy and paste from editor window to Find what box, for other than “simple” encodings, how is the proper encoding maintained so that a search can be done for what the user intends? Is the Find what box as “encoding aware” as a Scintilla editing buffer?

                    Note: this question goes outside just copying “textually simple” regexes as @astrosofista mentioned.

                    Font has to play into it as well, right? Maybe not for actual content, but for what you’re visually looking at? The Find what box isn’t very “font flexible”. So do people that use non-basic encodings get stuck looking at odd sequences in the Find what box as they are composing a search term?

                    I only have occasional use for “non-simple” text in my searches, but I’m just wondering how this all works for those that do the “other kind” of searching on an everyday basis.

                    EkopalypseE 1 Reply Last reply Reply Quote 1
                    • Alan KilbornA
                      Alan Kilborn @astrosofista
                      last edited by

                      @astrosofista said in Filter the data !!!:

                      the colors match a white background, I don’t think they look good on the dark background.

                      The colors used are mostly those defined already for other uses in Notepad++, as I believe @guy038 mentioned. Thus, I’d think they’d already be set to render fairly well for whatever theme you’re using, dark or light. The two that aren’t predefined…it should be easy to change the RGB tuples for them as they are right in the code itself?:

                      85d4a722-40cf-42df-a233-f60f2faa7684-image.png

                      Here’s a nice color picker for you:
                      https://www.w3schools.com/colors/colors_picker.asp
                      I’m sure there are many others, maybe better.

                      1 Reply Last reply Reply Quote 2
                      • EkopalypseE
                        Ekopalypse @Alan Kilborn
                        last edited by

                        @Alan-Kilborn said in Filter the data !!!:

                        So do people that use non-basic encodings get stuck looking at odd sequences in the Find what box as they are composing a search term?

                        I don’t use non-basic encodings but I don’t think that this is an issue
                        because the system font used, which as far as I know is used by the dialog, handles this, normally.

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

                          Hi, @alan-kilborn and All,

                          Seemingly, in the config.xml file, all characters above \x{007F} ( so non pure ASCII ) are encoded with the usual XML syntax &#x....;, where a dot stands for an hexadecimal digit

                          For characters, over \x{FFFF} ( so outside the Unicode Basic Multilingual Plane - BMP ), they are represented with two 16-bit code units called a surrogate pair. Refer to :

                          https://en.wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates

                          https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF

                          An example :

                          f2af261b-bba6-450e-ab2f-cf303a77115c-image.png


                          In this example, the last character, displayed by the Courier New font as a small white square box, is the OSMANYA letter BA ( Unicode code-point 10481 ) which can be described with the surrogate pair \x{D801}\x{DC81}, correctly handled and decoded by your OS !

                          Refer     http://www.unicode.org/charts/PDF/U10480.pdf

                          Best Regards,

                          guy038

                          EkopalypseE 1 Reply Last reply Reply Quote 1
                          • EkopalypseE
                            Ekopalypse @guy038
                            last edited by

                            @guy038

                            This is how it looks on your system, but I assume it might look different on a system where OSMANYA is more common.
                            That is, of course, if there is a localized version of Windows that OSMANYA takes into account.

                            1 Reply Last reply Reply Quote 1
                            • First post
                              Last post
                            The Community of users of the Notepad++ text editor.
                            Powered by NodeBB | Contributors